私は管理者としてではなく、Windows 上で R を実行しています。パッケージをインストールすると、次のコマンドが機能しません。
> install.packages("zoo")
Installing package(s) into ‘C:/Program Files/R/R-2.15.2/library’
(as ‘lib’ is unspecified)
Warning in install.packages :
'lib = "C:/Program Files/R/R-2.15.2/library"' is not writable
パッケージをインストールするには、ライブラリの場所を指定する必要があります。
install.packages("zoo", lib="C:/software/Rpackages")
パッケージをロードするには、ライブラリの場所も指定する必要があります。
library("zoo", lib.loc="C:/software/Rpackages")
C:/software/Rpackages
これらはすべて問題ありませんが、何らかの方法でライブラリ パスを追加して、毎回入力しなくても済むかどうかを確認したいと思いました。
Rprofile.site
ネットで調べてみると、ファイルを編集して次の行を追加するという方法があることがわかりました。
.libPaths("C:/software/Rpackages")
しかし、これを実行した後、RStudioを起動すると、次のような出力が得られます。
> .libPaths()
[1] "C:/Program Files/R/R-2.15.2/library" "C:/Program Files/RStudio/R/library"
.libPaths
に追加したコマンドが効果Rprofile.site
がないようです。なぜでしょうか? あるいは、もっと重要なのは、ライブラリの場所を入力せずにパッケージをインストールしてロードできるように問題を修正するにはどうすればよいかということです。
注: RStudioを起動すると、.libPaths()
コマンドは期待通りに動作するようです
.libPaths("C:/software/Rpackages")
> .libPaths()
[1] "C:/software/Rpackages" "C:/Program Files/R/R-2.15.2/library"
それは奇妙ではないですか?
ベストアンサー1
適切な解決策は、R_LIBS_USER
RStudio に Rprofile.site ファイルを認識させるのではなく、環境変数を目的のライブラリ フォルダーへのファイル パスの値に設定することです。
Windowsで環境変数を設定するにはR_LIBS_USER
、コントロールパネル(システムのプロパティ -> システムの詳細プロパティ -> 環境変数 -> ユーザー変数)で、目的の値(ライブラリフォルダへのパス)を設定します。例:
Variable name: R_LIBS_USER
Variable value: C:/software/Rpackages
何らかの理由でコントロール パネルにアクセスできない場合は、rundll32 sysdm.cpl,EditEnvironmentVariables
Windows のコマンド ラインから実行し、そこから環境変数を追加してみてください。
R_LIBS_USER を設定すると、RStudio を直接起動するか、ファイルを右クリックして「プログラムから開く」を選択して RStudio を起動するかに関係なく、ライブラリが .libPaths() で最初に表示されるようになります。
Rprofileソリューションは、RStudioが常にRStudioショートカットをクリックして起動される場合に機能します。この場合、デフォルトの作業ディレクトリをRprofileが格納されているディレクトリに設定する十分でしょう。Rprofile ソリューションは、ファイルをクリックして RStudio を起動する場合には機能しません。これは、作業ディレクトリがデフォルトの作業ディレクトリから変更されるためです。