小编sam*_*zz4的帖子

如何在不返回 NA 的情况下获得滚动总和

我试图获得过去 N 天的滚动总和,而不包括 NA。使用此示例 df:

myVec <- data.frame(myVec = c(7,2,4,5,1,3,2,9))

我知道rollsumr使用这种方法的函数:

library(zoo)
rollsumr(myVec$myVec, k = 3, fill = NA)
Run Code Online (Sandbox Code Playgroud)

产生以下输出: NA NA 13 11 10 9 6 14但是我不希望领先的 NA 占据这些位置。我希望第一个位置是第一个索引,第二个位置是第一个+第二个,依此类推,直到Nth到达看起来像7 9 13 11 10 9 6 14最终结果的位置。

N如果我的日子很短,我有一种方法可以使用 for 循环进行迭代,但是如果我的滚动总和N为 50,有 100 行,我就必须为前 50 天的每一天单独建立索引。因此,我认为有一种更简单、更有效的方法来实现这一目标。

r dplyr

1
推荐指数
1
解决办法
169
查看次数

标签 统计

dplyr ×1

r ×1