reshape2で5秒くらいはまった

Rでピボットテーブルを実現するためのreshape2パッケージについてはid:a_bickyさんの素晴らしい解説資料がある。
http://www.slideshare.net/abicky/r-10128090/

これを読んで、ヒャッハアアアアアアアという感じでクロス集計をかけまくろうとしたわけです。

library(reshape2)
tips.m <- melt(tips, id.vars = c("sex", "smoker", "day", "time"), measure.vars = c("total_bill", "tip"))
dcast(tips.m, sex + day~smoker, sum, subset = .(variable == "tip"))

するとこんなメッセージが出る。

以下にエラー cast(data, formula, fun.aggregate, ..., subset = subset, fill = fill, :
関数 "." を見つけることができませんでした

はて?と思いhelpを見ると.関数を使うにはplyrパッケージが必要と書かれている。

library(plyr) # needed to access . function
acast(aqm, variable ~ month, mean, subset = .(variable == "ozone"))

なるほど。あらためて、plyrパッケージも読み込んで集計をかけると

library(reshape2)
library(plyr)
tips.m <- melt(tips, id.vars = c("sex", "smoker", "day", "time"), measure.vars = c("total_bill", "tip"))
dcast(tips.m, sex + day~smoker, sum, subset = .(variable == "tip"))

下記のような結果が出てヒャッハアアアアアアアアア!!!!!!!!

     sex  day     No   Yes
1 Female  Fri   6.25 18.78
2 Female  Sat  35.42 43.03
3 Female  Sun  46.61 14.00
4 Female Thur  61.49 20.93
5   Male  Fri   5.00 21.93
6   Male  Sat 104.21 77.74
7   Male  Sun 133.96 52.82
8   Male Thur  58.83 30.58