0

我正在尝试使用cumsum, withplyrddply获得运行总数。但是,我只是不明白为什么这不起作用。

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

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

4

1 回答 1

1

如评论中所述, ddply 完全可以正常工作。

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

dd$ttl <- cumsum(dd$n)
于 2014-06-28T11:10:49.877 回答