-4

私は1つのデータフレームを持っています:

    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でこれを行うにはどうすればよいですか?ありがとう!

4

1 に答える 1

1

2 つのオプションがあります。1 つは base functionaggregateで、もう 1 つは plyrddplyです。あなたのデータは再現できないので、私は自分のデータを作成しましたが、ポイントを得ることができるはずです:

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))
于 2013-08-16T03:46:29.970 に答える