dplyrパッケージ便利いいいいいいいいいいいいいい
こんな資料があります。
「plyrパッケージで君も前処理スタ☆」改め「plyrパッケージ徹底入門」
http://www.slideshare.net/teramonagi/tokyo-r30-20130420
plyrパッケージは非常に便利なのですが、とても大きなデータに対しては遅い。
ddplyしたけど遅いッ遅すぎるッ!!!!!俺はPython-pandasで集計するぜえええええええええって人、いると思います。
まあdata.tableパッケージを使ったりすることである程度高速化できるんだけれども、plyrやggplot2などHadley Ecosystemにどっぷり浸かっている身としては、慣れ親しんだ文法のまま集計が高速化されてほしいッ!
ということで教祖がやってくれました。
dplyrパッケージです。
Rbloggersで速度検証記事も上がっております。
http://www.r-statistics.com/2013/09/a-speed-test-comparison-of-plyr-data-table-and-dplyr/
ただいかんせん開発中のパッケージなので、今まで通り集計すると
結果がこれまでと食い違う等ありますゆえご注意。
dplyr:summarise behavior differs when operating on data frame vs. data table
https://groups.google.com/forum/#!topic/manipulatr/sg_54p-6Sk4
install.packages("data.table") # dplyrはgithubで開発中のパッケージでCRANにはまだ上がっていないので # devtoolsのinstall_githubを使ってインストール library(devtools) install_github("assertthat") install_github("dplyr") library(dplyr) #cylの水準ごとにカウント summarise(group_by(mtcars, cyl), count=length(cyl)) dt1 <- tbl_dt(mtcars) #データテーブルに変換 # 変な結果が出る summarise(group_by(dt1, cyl), count=length(cyl)) # カウントしたい時はlengthではなくてn関数を使う summarise(group_by(dt1, cyl), count=n())
enjoy!