特定值范围的累积函数

时间:2017-09-25 18:45:08

标签: r cumsum

我有一个表格,其中“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

1 个答案:

答案 0 :(得分:2)

您可以使用cumsumrev

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