「library(***)
」を実行した時、Rのコンソールでは以下のように正常に読み込まれるのに対して、
The jupyter notebook(以下Notebook)ではエラーになる場合があります。
library(RcppArmadillo)
Error in library(RcppArmadillo): there is no package called 'RcppArmadillo' Traceback: 1. library(RcppArmadillo) 2. stop(txt, domain = NA)
私の環境においては、パッケージのインストールされているフォルダが見えていないために発生しているようです。
通常インストール先は、
C:\Program Files\R\R-*.*.*\library
(Windows10, 64bit
の場合)C:\Users\ユーザー名\Documents\R\win-library\*.*
のどちらかだと思います。
2は、Sys.getenv("R_LIBS_USER")
で確認することができます。私の環境のRのコンソールにおいては、
これに対して、Notebookでは、以下のようになりました。
Sys.getenv("R_LIBS_USER")
ちなみに、NotebookでのRのホームは以下の通りです。
Sys.getenv("R_USER")
ドキュメント フォルダのwin-library
にあるモジュールは、Notebookで認識できないようです。
Notebookの環境変数をRと同様にすれば良いかと思いましたが、Sys.setenv()
で、"R_USER"
や"R_LIBS_USER"
を変更してもうまくいきませんでした。
私は、以下のように対処しました。
パッケージのインストール先を、1の「C:\Program Files\R\R-*.*.*\library
」に変更します。
.Renviron
」というファイルが、Rのコンソール上で実行したSys.getenv("R_USER")
で表示されるフォルダに存在するか確認してください。(多分、ドキュメントフォルダになっていると思います)「.Renviron
」(*.*.*
にはバージョン名を入れてください。本例においては、3.4.1
)
R_LIBS_USER = "C:\Program Files\R\R-*.*.*\library"
うまくいけば、以下のようになります。
これより以降のパッケージのインストール先は、Program Files
のR
のフォルダになるはずです。これで、Notebookからも見えるようになっているはずです。
*この方法で注意しなくてはいけないことが2点あります*
.Renviron
」を変更すること*すでに2にインストールされたパッケージについては、以下のいずれかの方法で何とかなりそうです。
C:\Users\ユーザー名\Documents\R\win-library\*.*
」から「C:\Program Files\R\R-*.*.*\library
」へパッケージのフォルダをコピーする