RcppRoll窗口打开

时间:2018-03-09 21:35:41

标签: r rcpp rolling-sum

我一直在使用RcppRoll包进行滚动总和,但是我想找到一个函数/选项,允许我将[1 2 3 4 5]之类的向量转换为[1 3 6 9 12]例如,3的窗口。

目前,我一直在使用roll_sum,它返回     [NA NA 6 9 12]为3的窗口。

似乎可以使用rollapplyr(x, 3, sum, partial=TRUE)这样的东西,但这对于我最终需要在数百万行上运行的东西来说太慢了。

1 个答案:

答案 0 :(得分:4)

在输入的开头插入零:

width <- 3
roll_sum(c(numeric(width-1), 1:5), width)
## [1]  1  3  6  9 12