2011年3月18日金曜日

TokyoR#12でプレゼンをしてきました。


前回のTokyo.R(3/5)からだいぶ日が経っていて、ちゃんとブログにまとめておかないとなーと思いながら、いろいろな理由を自分の中で付けて延ばし延ばしにしてしまっていました。
そんな折、先週金曜日に東北関東地震があって、いろいろ大変だったのですが、ちょっと落ち着いてきて、私にできることといったらこれぐらいしかないので、まとめてみました。
(地震には直接関係はありませんが…)

RをSQLで操る

過去に初めて使った言語が「SQL(Structured Query Language)」で長くそれ(しか)使っていなかったので、私の中でのプログラミングといえば、SQLでした。
で、昨年からRを使い始めたのですが、やっぱり集計がめんどくさい…。
Dataframeはテーブルに似ているのでapply系やaggregate系で集計するよりも、手慣れたSQLで集計したい!とRを触っていながら思っていました。

と、思っていたらやっぱり世界では同じことを考えている人がいるらしく、”sqldf”というパッケージを作っている方がいらっしゃいました。
今回話しをした内容は、このパッケージの紹介(使い方)です。

■RをSQLで操る

全体的にはそんなに難しくない(はず…)なので、スライドを読んでいただければ、ある程度は分かる内容かと思います。
スライドの一番最後のほうにも載せていますが、大量のデータをsqldfで捌こうとすると、apply,aggregate系よりも処理速度が落ちますので、生産性かスピードかどちらかをよく考えて使ってみてはどうかと思います。

あと、スライドには載せていませんでしたが、sqldfではSQLで通常使うようなテーブル同士の連結、テーブル作成などもできるようです。
それ以外にけっこうイケそうな関数も準備してあるようなので、パッケージの説明書をご一読ください。(PDF注意)
http://cran.r-project.org/web/packages/sqldf/sqldf.pdf

過去のプレゼンの話がちょっとでた

@dichika (バタデ先生)の話の質疑応答中にでてきた、過去の勉強会で話した資料はこちらです。
まだまだRの日本語の資料が十分ではないと思っていたので、英語のR関連のドキュメントをまとめていました。
ご参考になれば。

Tokyo.R#12関連のページ