【发布时间】:2017-08-26 16:09:39
【问题描述】:
我有这个循环将值分配给 branch.from 中的一个元素,该元素表示最接近(小于)其值小于分支中相应元素的值的索引。
for (j in 2:length(branch)) {
branch.from[j]<-max(which(branch[1:(j-1)]<=branch[j]))
}
branch 有超过 800 万个元素,所以这对我来说花费的时间太长了。有更快的方法吗? 例如,
branch[1:20]<-c(1,54,25,54,22,54,36,54,43,54,40,54,27,54,34,54,26,54,32,54)
以上代码给出,
branch.from[1:20]<-c(1,1,1,3,1,5,5,7,7,9,7,11,5,13,13,15,5,17,17,19)
【问题讨论】:
-
您能否添加一个向量样本
branch和branch.from(不需要与您自己的数据具有相同的大小,但可能保持它们大小的相同比例)。 -
@DominicComtois,希望对您有所帮助。
-
抱歉,我无法弄清楚其中的逻辑...我通过
cbind(branch, closest=branch[branch.from])看到了“匹配”的数字,但看不到它与您的描述有何关联。
标签: r