Lean Engineer

リーンエンジニア〜効率的に実験しながら、技術を学ぶブログ

R言語の環境をMacで整える ~ Jupyter notebookまで

 データ分析をRでやることになったので、Rの環境をMacで整えてみる(Pythonでいいじゃん!という気がするが、まだライブラリが追いついてなかったり、Rのほうがサンプルコードが多かったりという理由がある)。

brewでインストール

 brewでRをインストールするので、brewが入ってない人は

$ /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

 でbrewをインストール。

$ brew tap homebrew/science
$ brew install R

 これでRがインストールできる。さて、rとコマンドを打ってみると・・

$ r
> r: shell built-in command 

 ほう。どうもzshにrというコマンドが既にあるようだ。特に使ってないのでdisalbeしちゃう

$ disable r
$ r

 うごいた。

R Studioを使ってみる

 Rといえば、R Studioということで、ダウンロード(こちら)して使ってみた。

 R StudioはR言語のIDEで、たしかに便利だ。REPLの他に、現在使われている変数が表示できたり、グラフの描写を別画面で表示させておくことができる。

 さて、Python使いとして気になるのは、Jupyter Notebookより使い易いか?だが、ハッキリ言って使いにくい!Jupyter Notebookを使いたくなる。Jupyter Notebookの良いところは、複数のコードを再度実行するのが簡単であり、さらにそのままドキュメントになってるので共有しやすいことだろう

   R Notebookを使えば、Jupyter NotebookのようにMarkdownとコードを混在させて書くことができて、実行結果をHTMLやPDFに書き出すことができる。しかし、こいつが使いにくい。どちらかというとドキュメンテーションをすることが目的で、実験をしながらドキュメントを作るというJupyter Notebookっぽさはない。

 おそらくR Notebook(R Markdown)を使ってる人は、REPLで実験しながら、上手く行ったらR Notebookにまとめるという使い方をしていると思う。Jupyter notebookという便利なものがあるのに、もったいない!

Jupyter notebookへ

 Jupyter notebookのほうが便利そうなので、Jupyter notebookを使う。

$ pip install jupyter
$ r
r > install.packages(c('repr', 'IRdisplay', 'evaluate', 'crayon', 'pbdZMQ', 'devtools', 'uuid', 'digest'))
r > devtools::install_github('IRkernel/IRkernel')
r > IRkernel::installspec()

 これでインストールは完了だ。

$ jupyter notebook

 RでもJupyter notebookは便利だ!!!

Rのバージョン管理やパッケージ管理って・・・

 調べていたのだが、Rのバージョン管理やパッケージ管理がわからない。Pythonだとpyenvを使い、requirements.txtでパッケージの共有をするのだが、Rではどうするのだろうか。

 Jupyter notebookの一行目に必要なライブラリをインストールするように書いておこうかと思ったんだけど、どうもRのinstall.packagesは毎回インストールするみたい(キャッシュして!!)なので、いまいち良くない(そしてインストール遅すぎる・・・)。

 良い方法があれば、教えて欲しい。