Rのplyrパッケージの使い方がすぐには理解できなかったので、自分なりにまとめてみる。
plyrパッケージにはいろいろな便利関数が含まれているようですが、今回は「xyply系」と呼ばれるモノについて考える。
plyrパッケージとは
Rでデータ処理を効率よく行うための便利なパッケージらしい。
Rが良く分かってない身としては「効率よく」と言われてもよく分からないのだが、とにかく便利らしい。
xyplyとは
入力するデータと出力するデータの形式によっけ関数名を決めているらしい。
xが入力、yが出力。
配列を入力して配列を出力するなら、配列(array)の頭文字aを取って「aaply()」となるようだ。
ddplyの例
私がちょうど今読んでいる(そしてRのコード理解に四苦八苦している)「入門 機械学習」の4章、「順位付け:優先トレイ」のコードを例に整理する。
ちなみにこの本のコードは自由に引用してオッケーとなっている。
こういう行がある。ddplyを使っています。
from.weight <- ddply(priority.train, .(From.EMail), summarise, Freq=length(Subject))
図にしてみた。
結果は「送信元メールアドレスごとの頻度」という事になる。
だいたいこんな雰囲気。
ここでややこしいのが、「summarise」という独自のオプションがあり、これを覚える必要があるという点。
もう一つ、この例だと4番目の引数の「Subject」という列名の指定に深い意味は無いという点。
SQLのgroup byとcount()を使ったような結果になるイメージかなぁ。
エクセルのvlookup()とかを使うよりはシンプルかもしれないが、なんならSQLを書きたい気分になってくるね。
ともかくRの世界ではこれがデータの前処理をするときに非常に便利という事になっているらしい。覚えておこう。
- 作者: Drew Conway,John Myles White,萩原正人,奥野陽,水野貴明,木下哲也
- 出版社/メーカー: オライリージャパン
- 発売日: 2012/12/22
- メディア: 大型本
- 購入: 2人 クリック: 41回
- この商品を含むブログ (11件) を見る