我一直在使用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)
这样的东西,但这对于我最终需要在数百万行上运行的东西来说太慢了。
答案 0 :(得分:4)
在输入的开头插入零:
width <- 3
roll_sum(c(numeric(width-1), 1:5), width)
## [1] 1 3 6 9 12