我有一个表格,其中“Age”列的值为1到10,还有一列“Population”,其中包含为每个“age”值指定的值。我想为人口生成累积函数,使得结果值从年龄至少1及以上,2及以上开始,依此类推。我的意思是,结果数组应该是(203,180 ......等等)。任何帮助将不胜感激!
Age Population Withdrawn
1 23 3
2 12 2
3 32 2
4 33 3
5 15 4
6 10 1
7 19 2
8 18 3
9 19 1
10 22 5
答案 0 :(得分:2)
您可以使用cumsum
和rev
:
df$sum_above <- rev(cumsum(rev(df$Population)))
结果:
> df
Age Population sum_above
1 1 23 203
2 2 12 180
3 3 32 168
4 4 33 136
5 5 15 103
6 6 10 88
7 7 19 78
8 8 18 59
9 9 19 41
10 10 22 22