「reshape2 でデータ整形」に書いてあることについてなのだが
library(reshape2)
aq.m <- melt(airquality, id=c("Month", "Day"), na.rm=TRUE)
dcast(aq.m, Month ~ variable, mean)
によって
Month Ozone Solar.R Wind Temp
1 5 23.61538 181.2963 11.622581 65.54839
2 6 29.44444 190.1667 10.266667 79.10000
3 7 59.11538 216.4839 8.941935 83.90323
4 8 59.96154 171.8571 8.793548 83.96774
5 9 31.44828 167.4333 10.180000 76.90000
更に,続いて,
library(plyr)
dcast(aq.m, Month~variable, mean, subset=.(variable=="Ozone"))
により
Month Ozone
1 5 23.61538
2 6 29.44444
3 7 59.11538
4 8 59.96154
5 9 31.44828
が得られると。
しかし考えても見よう,これくらいのことをするのに何故新たなパッケージを使わなければならないのか。
aggregate 1 つで十分だ。長いって?複雑だって?そんなこたぁねぇなぁ~~~。
> aggregate(airquality[,1:4], by=airquality["Month"], mean, na.rm=TRUE)
Month Ozone Solar.R Wind Temp
1 5 23.61538 181.2963 11.622581 65.54839
2 6 29.44444 190.1667 10.266667 79.10000
3 7 59.11538 216.4839 8.941935 83.90323
4 8 59.96154 171.8571 8.793548 83.96774
5 9 31.44828 167.4333 10.180000 76.90000
> aggregate(airquality["Ozone"], by=airquality["Month"], mean, na.rm=TRUE)
Month Ozone
1 5 23.61538
2 6 29.44444
3 7 59.11538
4 8 59.96154
5 9 31.44828