Jupyter notebookでRを使おうとして、試行錯誤した結果。
念願の夢だった、Jupyter NotebookでRを使うために、試行錯誤して結果です。
Jupyter notebookでRを利用使用として上手くいかなかった方(将来の自分を含む)の一助となればと思います。
結論としては、下記コードでRをJupyter Notebookから利用できました。
install.packages(c('repr', 'IRdisplay', 'evaluate', 'crayon', 'pbdZMQ', 'devtools', 'uuid', 'digest'))
install.packages('IRkernel')
IRkernel::installspec()
失敗1:Jupyter notebookの未更新
Anaconda NavigaterのRStudio欄に「install」とありますので、何の気なしにクリックしました。
これで待っていれば、直ぐに利用できるのかと思っていましたが、ダメでした。エラーメッセージは、このようなものでした。
このEnvironmentでは上手く使えないから、新しいEnvironmentを作りますか?(要約)
後から分かったのですが、Jupyter Notebookのバージョンが古いままだったのが原因でした。
更新して、Jupyter Notebookをバージョン6.02にすると上手くいきました。
失敗2:色々インストールしていなかった
次に、PythonユーザのためのJupyter「実践」入門のp.386~388を参考に作業を行ないました。
install.packages('devtools')
devtools::install_github('IRkernel/IRkernel')
IRkernel::installspec()
2行目が動きません。2つのエラーメッセージが出てきました。
WARNING: Rtools is required to build R packages, but is not currently installed. Please download and install Rtools custom from http://cran.r-project.org/bin/windows/Rtools/.
まずは、Rtoolsをインストールしろって事ですね。なるほど、サイトに行ってダウンロード・インストールしました。
Downloading GitHub repo IRkernel/IRkernel@master
Error: Failed to install 'IRkernel' from GitHub:
Git does not seem to be installed on your system.
もう1つは、Gitがシステムにないという問題です。なるほど、こちらもサイトに行ってダウンロード・インストールしました。
なお、2番目の問題は、Qiitaのページで@Ringa_hyj様も言及されていましたので、参考にさせて頂きました。
失敗3:参照していたのが古い情報だった
上記の失敗2での対処しましたが、新たなエラーが出現しました。
Downloading GitHub repo IRkernel/IRkernel@master
"C:/Program Files/Git/bin/git.exe" clone --depth 1 --no-hardlinks --recurse-submodules https://github.com/jupyter/jupyter_kernel_test.git C:\Users\foobar\AppData\Local\Temp\RtmpEVoNHw\remotes2d101a553d50/IRkernel-IRkernel-c2c5e79/tests/testthat/jkt
Error: Failed to install 'IRkernel' from GitHub:
Command failed (128)
In addition: Warning message:
In system(full, intern = TRUE, ignore.stderr = quiet) :
running command '"C:/Program Files/Git/bin/git.exe" clone --depth 1 --no-hardlinks --recurse-submodules https://github.com/jupyter/jupyter_kernel_test.git C:\Users\foobar\AppData\Local\Temp\RtmpEVoNHw\remotes2d101a553d50/IRkernel-IRkernel-c2c5e79/tests/testthat/jkt' had status 128
わからん。
Google先生に相談だ。
相談した結果、次のサイトに行き当たりました。
このページを読むと、IRkernelのインストールは「こうしろ」と言っています。
install.package('IRkernel')
IRkernel::installspec()
そういえば、PythonユーザのためのJupyter「実践」入門のp.388にも
IRkernelは、2017年5月時点ではCRANに登録されていないので、devtoolsパッケージを利用してインストールします。
という解説がありました。
アレか、つまり、3年近く経った2020年1月ではCRANに登録済なのか。
失敗4?:insatall.packagesの修正
これは失敗なのかどうか未確認ですが、Qiitaのページで@piruty様が言及されていることがありました。
install.packages(c('repr', 'IRdisplay', 'evaluate', 'crayon', 'pbdZMQ', 'devtools', 'uuid', 'digest'))
devtools::install_github('IRkernel/IRkernel')
IRkernel::installspec()
PythonユーザのためのJupyter「実践」入門(p.388)とは1行目が異なります。このQiitaは、2017年7月10日更新なので、「PythonユーザのためのJupyter「実践」入門」よりも新しい情報でしょう。
1行目はこちらを採用した方が良さそうです。
まとめ
install.packages(c('repr', 'IRdisplay', 'evaluate', 'crayon', 'pbdZMQ', 'devtools', 'uuid', 'digest'))
install.package('IRkernel')
IRkernel::installspec()
これでJupyter notebookでRが利用できるはずです。
試しに、同等性試験の症例数計算を行ないましたが、無事に動きました。