利用大数据优化cumsum

问题描述 投票:0回答:1

我正在尝试编写一个代码,从向量中获取每第 7 个累积和值,但是使用循环结构运行速度非常慢,因为我的数据太大了。

这是我写的代码。结果是预期的,但正如我所说,它运行非常慢:

for (i in 1:50000) {
  B[i] <- cumsum(A[i:50000])[7]
}

示例: A = 4 1 2 2 6 2 6 6 1 10 5 8 6 9 1

结果必须是:

B[1] = (4+1+2+2+6+2+6) = 23

B[2] = (1+2+2+6+2+6+6) = 25

所以...

谢谢你。

r loops cumsum
1个回答
0
投票

基础R:

c(na.omit(filter(A, rep(1,7)))) # use stats::filter if dplyr/tidyverse is loaded
[1] 23 25 25 33 36 38 42 45 40
© www.soinside.com 2019 - 2024. All rights reserved.