不使用c()函数,仅用rep和seq生成目标向量的优化方法咨询
仅用rep和seq生成目标向量的优化写法
你的思路本身就很合理,其实可以把代码简化得更直观:
rep(1:5, 5) + rep(0:4, each = 5)
具体逻辑:
rep(1:5, 5):循环生成5次序列1,2,3,4,5,得到长度为25的向量rep(0:4, each = 5):将0,1,2,3,4每个数值重复5次,同样得到长度为25的向量- 两个向量逐元素相加后,正好生成你需要的目标序列:第一组加0得到
1-5,第二组加1得到2-6,依此类推直到第五组加4得到5-9。
这种写法完全只用到了rep和seq(1:5和0:4是seq的简化写法),而且比你原来的代码更简洁,参数可读性更强。
内容的提问来源于stack exchange,提问作者PowerPoint Trenton
相关产品推荐
相关产品推荐

