与plyr ddply的Cumsum没有保持总计

时间:2014-06-28 01:30:59

标签: r plyr cumsum

我尝试使用cumsumplyr' s ddply来获得总计。但是,我只是不明白为什么这不起作用。

n = c(2, 3, 5) 
s = c("aa", "bb", "cc") 

dd = data.frame(n, s)
#   n  s
# 1 2 aa
# 2 3 bb
# 3 5 cc

test <-ddply(dd, "n", transform, ttl = cumsum(n))
#   n  s ttl
# 1 2 aa   2
# 2 3 bb   3
# 3 5 cc   5

我期望ttl应该是:

#  2
#  5
# 10

如果有人能解释我在这里做错了什么以及如何获得理想的结果,那就太棒了。感谢。

1 个答案:

答案 0 :(得分:1)

正如评论中所提到的,ddply完全正常。

但是我认为你想要的是n的累积和。所以使用这个(也更简单的)代码:

dd$ttl <- cumsum(dd$n)