2017-09-25 10 views
0

「年齢」の値が1〜10の表と、「年齢」の値ごとに値が指定された「人口」列の表があります。結果の値が少なくとも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 

答えて

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 
+0

はIMO OPが望んでいる: 'REV(CUMSUM(REV($人口DF)))' – digEmAll

+0

@digEmAllありがとう、あなたは正しい。私は私の答えを更新しました – h3rm4n

+0

ありがとう!しかし、大括弧内の 'df $'が削除されたときに機能しました。 元の質問でわかるように、別の列「Withdrawn」を追加しました。私は以前の答え、rev(cumsum ..)を変更して、値が撤回された子供の累積比率を表すようにしたいと思うでしょう。どんな助け?前もって感謝します! – Simos