如何用两个变量对一个变量组求和? R语言

时间:2013-08-16 03:40:08

标签: r sum

我有一个数据框:

    Date   area    sales

1     201204   shanghai    23

2     201204 beijing     25

3     201204 beijing     16

4     201205 shanghai    55

5     201205 beijing     17

6     201205 shanghai    16

我要输出的内容如下表所示:

Date   shanghai  beijing 

201204  23        41

201205  71        17

我如何在R中执行此操作?谢谢!

1 个答案:

答案 0 :(得分:0)

两个选项,一个是基函数aggregate,另一个是plyr的ddply。我编制了自己的数据,因为你的数据不可复制,但你应该能够明白这一点:

dat <- data.frame(x1 = sample(letters[1:3], 100, TRUE),
                  x2 = sample(letters[6:3], 100, TRUE),
                  value = rnorm(100))

aggregate(value ~ x1 + x2, data = dat, FUN = 'sum')

library(plyr)
ddply(dat, .(x1,x2), summarize, foo = sum(value))