首页 > 解决方案 > 加快代码查找向量中每 12 个元素之间的差异

问题描述

我有一个长度超过 200,000 的向量。为简单起见,说它是:

x <- c(1:96)

我想要做的是生成一个向量,其中包含一个数字和向量中下一个第十二个数字之间的差异。在这种情况下,它会生成一个像这样的向量:

diff <- c( (13 - 1) = 12, (14 - 2) = 12, (15 - 3) = 12, ...)

我希望这个例子有意义(仅用于描述)。目前,我正在运行以下 for 循环来生成它:

diff <- c()
for (k in 1:length(x)){
   d <- x[k+12] - x[k]
   diff <- c(diff, d)
}

这正在生成我想要的东西,但是对于大型向量来说它运行得非常慢。如果有人对如何加快速度有任何建议,我将不胜感激!

标签: rfor-loopvector

解决方案


推荐阅读