dplyrとR界隈について
Pythonianの私としてはブログの記事として、
Pythonよりも先にRについて書くのは若干気になるものの、
同僚のR使いに面白い共有を頂いたので備忘のため記事にします。
※同僚の受け売りなので、私はあんまりRに詳しくないです
近年、R界隈に彗星のごとく現れた、Hadley神ことHadley Wickham氏
hadley (Hadley Wickham) · GitHub
同僚によると、彼の登場により、R界隈に大きい変化の波が来るとのこと
日本語の資料もないので、日本ではほとんど話題になってないが、時間の問題らしい
彼の書いた、Advanced R (http://adv-r.had.co.nz/)は
Rのパッケージの作成方法から、
テストといったコードの品質保証まで網羅的に書かれており、
Rをあまり使わない私としても非常に参考になる
これにより近年のR(笑)の流れに歯止めがかかり、
Tokyo.RでもRがメイントピックになる日が来る! かな?
ウチの会社でも、分析のみの案件では良いものの、システム化が絡むとRは
カワサキバイクのコピペ並に、エンジニアの顔が歪みます
(それよりも分析官が、テストを書いていないことに起因することが多いですが・・・)
ともあれ、分析官にR使いは多いので、
Rがシステム化に耐えられる様になるのは、なにより喜ばしいこと
この流れはこの辺ウォッチしとけば追えるのかな
R-bloggers | R news & tutorials from the web
前置きが長くなりましたが、dplyrについて語ります。
といっても先人たちがすでに良記事をたくさん書いているので
使い方はそっちを見てください。この記事では思想のみ語ります。
日本語資料
英語資料
まだまだR-pubs漁れば、たくさん出てきます。
dplyrの特徴としては、
- (Rなのに)速い!
- filter()、 arrange()、 select()、 mutate()、summarise()の5つの動詞に集約された洗練された設計
- DB上のテーブルも同じ操作で扱える
- 近年流行りのパイプ(『%>%』←こいつ)でコードの見渡しが非常に良い。
SQLライク(筆者感)にもコードが書ける。
特にDB上のテーブルを簡単に扱えるのは強力かと
Pythonでも Pandas + SQLAlchemy で似たことはできるが、
SQLAlchemyがフルスタックのORマッパなので、
高機能過ぎて学習に時間がかかったり、手順がどうしても多くなる
その点、Rはデータ分析に特化しているので、シンプルに機能を絞り込めているので、
使い勝手が良さそう。
久しぶりにRで心を動かされたので記事にしてみました。
私もRしっかり勉強するかな・・・