2017-09-25 4 views
0

"age"열에 1에서 10 사이의 값이있는 테이블과 각 "age"값에 대해 지정된 값을 가진 "Population"열이 있습니다. 모집단 누적 함수를 생성하여 결과 값이 적어도 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 영업 이익이 원하는'레브 (cumsum (REV ($ 인구 DF)))' – digEmAll

+0

@digEmAll 감사합니다, 당신 말이 맞아요; 내 대답을 업데이트했습니다 – h3rm4n

+0

고마워요! 그러나 대괄호 내의 'df $'가 제거되었을 때 작동했습니다. 원래 질문에서 알 수 있듯이 "Withdrawn"열을 추가했습니다. 나는 이전의 대답 인 rev (cumsum ..)을 수정하고 싶은데, 그 값은 철회 한 아이들의 누적 비율을 나타냅니다. 어떤 도움이 필요합니까? 미리 감사드립니다! – Simos