前一行的累计和

Cumulative sums for the previous row

我正在尝试获取之前 row/year 的累计总和。 运行 cumsum(data$fonds) 为我提供了 运行 相邻销售的总计,这对我想做的事情不起作用。我希望我的数据如下所示:

   year      fond   cumsum  
1  1950       0       0  
2  1951       1       0
3  1952       3       1
4  1953       0       4
5  1954       0       4

如有任何帮助,我们将不胜感激。

data$cumsum <- c(0, cumsum(data$fonds)[-nrow(data)])

有了data.table,我们就可以使用shift功能了。默认情况下,它给出 type="lag"

library(data.table)
setDT(df1)[, Cumsum := cumsum(shift(fond, fill= 0))]