tkm2261's blog

研究員(OR屋) → データ分析官 → MLエンジニア → ニート → 米国CS PhDが諸々書いてます

dplyrとR界隈について

Pythonianの私としてはブログの記事として、

Pythonよりも先にRについて書くのは若干気になるものの、

同僚のR使いに面白い共有を頂いたので備忘のため記事にします。

※同僚の受け売りなので、私はあんまりRに詳しくないです

 

近年、R界隈に彗星のごとく現れた、Hadley神ことHadley Wickham氏

had.co.nz

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しっかり勉強するかな・・・