見出し画像

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が利用できるはずです。

画像2

試しに、同等性試験の症例数計算を行ないましたが、無事に動きました。

いいなと思ったら応援しよう!