1
我的樣本數據是這樣的:計算相對累積和
data <- read.table(text="group; year; val
a; 1928; 20
a; 1929; 50
a; 1930; 40
a; 1931; 45
b; 1935; -10
b; 1936; -15 ", sep=";", header=T, stringsAsFactors = FALSE)
> data
group year val
1 a 1928 20
2 a 1929 50
3 a 1930 40
4 a 1931 45
5 b 1935 -10
6 b 1936 -15
我想這樣做是爲了累積相對總和在新列sum_rel
計算至1930年(例如1930開始年,應該增加1930年以後的所有數值,並在1930年減去)。如果所有年份都大於1930年,相對價值(0 =)應該是每組最低年份(如情況b)。
group year val sum_rel
a 1927 -110
a 1928 20 -90
a 1929 50 -40
a 1930 40 0
a 1931 45 45
b 1934 0
b 1935 -10 -10
b 1936 -15 -25
我看看cumsum
功能,但無法弄清楚過度組適用於它,我會很高興,如果你能幫助我。
我不能1930瞭解重複計算的價值邏輯正和1930年負和擴展這樣的區域。這個專欄應該是什麼解釋?你可以使用'ave'或'split'對cumsum進行申請,但是你想要做的更加不尋常。 – MrFlick 2014-12-07 05:50:29
@MrFlick。抱歉,我手工創建的'解決方案'確實包含錯誤的值。請看看我的編輯,這是否更清楚? – nebuloso 2014-12-07 06:14:33
是的,這有點清晰。 – MrFlick 2014-12-07 06:32:38