jupyter notebook で R

jupyter notebook で Rを使う。
IPython notebook から Jupyter notebookになった所以として、Python以外のカーネルに対応したからだという。
ただデフォルトではpythonしか使えないではないか。

ということで使えるようにしてみた。

Requirements

  • Jupyter notebookのインストール
  • Rのインストール

だけ済ませてあれば問題ない。

インストール

> install.packages(c('repr', 'IRdisplay', 'evaluate', 'crayon', 'pbdZMQ', 'devtools', 'uuid', 'digest'))
> devtools::install_github('IRkernel/IRkernel')
> IRkernel::installspec()
[InstallKernelSpec] Installed kernelspec ir in /home/kimoton/.local/share/jupyter/kernels/ir   

システム側にインストールしたい場合は以下のようにuser=FALSEを指定します。

> IRkernel::installspec(user = FALSE)

確かにRが入った!

f:id:kimoppy126:20180830165751p:plain

こんな感じ。

f:id:kimoppy126:20180902011209p:plain

不満点

以下、使ってみての感想

マジックコマンドが使えない

pythonのカーネルだと使えていたマジックコマンドがRのカーネルだと使えない。

system()で対応

system('mv filtered_gene_bc_matrices outs', intern=TRUE)
シェルが使えない

pythonのカーネルだと使えていたシェルがRのカーネルだと使えない。

gitで扱いづらい

.ipynbファイルはバイナリなのでdiffが取れない。。

いちいちGUI立ち上げるのめんどい

やっぱりコマンドラインで動かせるR markdownのほうが良いかなぁ。。

実行を強制終了できない

Ctrl + C が利かない?
強制終了したい場合は、いちいちGUI上からカーネルを落とさなければいけない。

補完機能がしょぼい??

Rstudioのほうが気が利く気がする。気のせいかも。

おまけ。

docker イメージも公開してるみたいです。

docker run -d -p 8888:8888 jupyter/r-notebook