Windowsで日本語のユーザ名を使っている時のRパッケージインストール場所問題
結構歴史が長い問題なわけですが、実はR本体ではR 4.0時点でもいまだに解決がされていません。まぁファイルシステムのエンコーディングを誤ったまま起動時の環境変数が設定されてしまうのが問題なわけなので、理論上はR本体側で対処可能な問題だと思いますが、回避が結構簡単にできることもあってまだ残っていますね。
問題
Windowsのユーザ名が日本語を含む場合、すなわち、C:¥Users
の下のホームフォルダの名前に日本語が含まれている場合、Rのパッケージをインストールしようとすると、personal libraryを作って良いかどうか確認をしているこのようなダイアログが何回も出てしまい、インストールができない
解決方法
Rstudioで操作する方法を説明しています。
まず、Personal Libraryを入れる場所を作る
回避策として、日本語を含まないパス名のところに、Personal libraryを入れる場所を作りましょう。
例えば、Cドライブ直下にR
というフォルダを作って、そこにパッケージをインストールすることにします。RstudioのConsole部分などから、
dir.create("C:/R")
のように入力すると、この場所ができます。なお、Rでは多くの場合、パス名の区切りに"¥"の代わりに"/"を使うことができます。
ここをライブラリパスとして使用する設定をR起動時に毎回行うようにする
この場所をパッケージのインストール場所(ライブラリパス)として使用することを、Rが起動するたびにRに教えてあげないといけません。そのために、.Rprofile
というファイルを作成します。
Rstudioのメニューから、File メニュー → New File → R Script として、新しいファイルを作ります。
Untitled1 というファイルを作成する画面になるので、以下のコードを打ち込みます。
.libPaths('C:/R')
Ctrl+Sを押すか、保存アイコン(フロッピーディスクの画像...ってもう知らない方が結構多いかもですね) を押して保存しましょう。
ファイル名は、.Rprofile
としてください。このファイル名を1文字でも間違えるとうまくいきません。
保存しようとすると、拡張子が.Rじゃないけどいいか?って聞かれますが、OKを押してしまってください。
Rstudioを再起動する
保存できたら、いったんRstudioを終了して、再度起動してください。起動した時に、先程作成した.Rprofile
が読み込まれて、C:/R
がパッケージのインストール先として追加されているはずです。
ここで、パッケージのインストールを試すと、すでにインストール先フォルダが存在するので、これは出ないはずです。
以下のような通常のインストール画面となるはずです。ここで、Install to Library:
のボックスが、先程設定した C:/R [Default]
となっていることを確認できたら、設定完了です。