【发布时间】:2015-08-11 12:04:22
【问题描述】:
由于优化问题,我需要一些提示才能在向量中进行有效循环,但对于“FOR…”循环。
乍一看,推荐使用apply()、sapply()等函数。
我有一个向量转换成矩阵:
x1<-c(1,2,4,1,4,3,5,3,1,0)
循环遍历向量,如果 x[i]>x[i+1],我需要替换所有 x1[i+1]=x1[i]。 例子: 输入向量:
x1<-as.matrix(c(1,2,4,1,4,3,5,3,1,0))
输出向量:
c(1,2,4,4,4,4,5,5,5,5)
我的方法是在apply() 中使用用户函数,但我在如何正确编码用户函数中 x[i] 和 x[i+1] 的关系时遇到了一些困难。
我将非常感谢您的想法或提示。
【问题讨论】:
-
@Khashaa 请考虑将其作为解决方案发布。这是一个很好的选择。
-
@akrun 对于正确答案来说太短了。您不妨将其添加到您的答案中。
-
@Khashaa 我不会偷你的优秀答案:-)。另外,如果答案简洁而简短,那不是你的错
-
如果您不介意,我会将其添加到一般性答案中。