我在数据框中有时间序列数据。假设我有一列日期,一列值,我想创建一个新列,它是日期索引之前所有值的总和。有没有比使用for循环更好的解决方案?
例如:
table = data.frame(date=seq(1,5),values=c(3,2,4,1,5))
table$sum = ...??
答案 0 :(得分:1)
为此,您可以使用cumsum
:
table = transform(table, sum_value = cumsum(values))
table
date values sum_value
1 1 3 3
2 2 2 5
3 3 4 9
4 4 1 10
5 5 5 15