前一行的累计总和

时间:2016-04-10 22:42:40

标签: r sum running-total cumulative-sum

我试图获得前一行/年的累积总和。运行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

任何帮助都将不胜感激。

2 个答案:

答案 0 :(得分:4)

{{1}}

答案 1 :(得分:1)

使用data.table,我们可以使用shift功能。默认情况下,它会提供type="lag"

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