この質問はすでにSOで対処および回答されている可能性がありますが、見つけることができませんでした。非常に大きなデータ フレームの条件で累積合計を計算しています。以下の例を見てください
Data=data.frame("Catg"=c("A","A","A","A","A","B","B","B","C","C","C","D","D","D","D","D","D","D","D","E","E","F"),"Val"=c(67,42,12,32,28,1,11,9,38,61,75,99,22,44,89,99,51,34,82,99,74,42))
Res=NULL
UniqCatg=unique(Data$Catg)
for(i in 1:length(UniqCatg))
Res=c(Res, cumsum(Data[Data$Catg==UniqCatg[i],"Val"]))
Data$Res=Res
Data
forループなしでそれを行うスマートな方法はありますか? (適用機能と同様)