可能重复:
如何在不排序的情况下进行 ddply()?
我有以下数据框
dd1 = data.frame(cond = c("D","A","C","B","A","B","D","C"), val = c(11,7,9,4,3,0,5,2))
dd1
cond val
1 D 11
2 A 7
3 C 9
4 B 4
5 A 3
6 B 0
7 D 5
8 C 2
现在需要计算关于 cond 中因子水平的累积和。结果应如下所示:
> dd2 = data.frame(cond = c("D","A","C","B","A","B","D","C"), val = c(11,7,9,4,3,0,5,2), cumsum=c(11,7,9,4,10,4,16,11))
> dd2
cond val cumsum
1 D 11 11
2 A 7 7
3 C 9 9
4 B 4 4
5 A 3 10
6 B 0 4
7 D 5 16
8 C 2 11
以与输入数据帧相同的顺序接收结果数据帧很重要,因为还有其他变量与之绑定。
我试过ddply(dd1, .(cond), summarize, cumsum = cumsum(val))
了,但没有产生我预期的结果。
谢谢