Windowsで日本語のユーザ名を使っている時のRパッケージインストール場所問題

2021年5月14日

結構歴史が長い問題なわけですが、実はR本体ではR 4.0時点でもいまだに解決がされていません。まぁファイルシステムのエンコーディングを誤ったまま起動時の環境変数が設定されてしまうのが問題なわけなので、理論上はR本体側で対処可能な問題だと思いますが、回避が結構簡単にできることもあってまだ残っていますね。

問題

Windowsのユーザ名が日本語を含む場合、すなわち、C:¥Users の下のホームフォルダの名前に日本語が含まれている場合、Rのパッケージをインストールしようとすると、personal libraryを作って良いかどうか確認をしているこのようなダイアログが何回も出てしまい、インストールができない

180afbc0b310d5c0ab72d8cb61d31989.png

解決方法

Rstudioで操作する方法を説明しています。

まず、Personal Libraryを入れる場所を作る

回避策として、日本語を含まないパス名のところに、Personal libraryを入れる場所を作りましょう。
例えば、Cドライブ直下にRというフォルダを作って、そこにパッケージをインストールすることにします。RstudioのConsole部分などから、

dir.create("C:/R")

のように入力すると、この場所ができます。なお、Rでは多くの場合、パス名の区切りに"¥"の代わりに"/"を使うことができます。

6ca7d5486d0bf4300a821271dc3b57f3.png

ここをライブラリパスとして使用する設定をR起動時に毎回行うようにする

この場所をパッケージのインストール場所(ライブラリパス)として使用することを、Rが起動するたびにRに教えてあげないといけません。そのために、.Rprofile というファイルを作成します。

Rstudioのメニューから、File メニュー → New File → R Script として、新しいファイルを作ります。

9759f975e42ebe384fe263c2804545e7.png

Untitled1 というファイルを作成する画面になるので、以下のコードを打ち込みます。

.libPaths('C:/R')
42fb835279e1f2b5215c5e47521296e2.png

Ctrl+Sを押すか、保存アイコン(フロッピーディスクの画像...ってもう知らない方が結構多いかもですね) を押して保存しましょう。
ファイル名は、.Rprofile としてください。このファイル名を1文字でも間違えるとうまくいきません。

7f293f7f0efbd5fbaa4c3ca6a8424a9f.png

保存しようとすると、拡張子が.Rじゃないけどいいか?って聞かれますが、OKを押してしまってください。

5649e5a973aa6787de91d86989c9fbdd.png

Rstudioを再起動する


保存できたら、いったんRstudioを終了して、再度起動してください。起動した時に、先程作成した.Rprofile が読み込まれて、C:/R がパッケージのインストール先として追加されているはずです。
ここで、パッケージのインストールを試すと、すでにインストール先フォルダが存在するので、これは出ないはずです。

8ad365632a7e1e1d614348343de9914d.png

以下のような通常のインストール画面となるはずです。ここで、Install to Library: のボックスが、先程設定した C:/R [Default] となっていることを確認できたら、設定完了です。

96d79b1edc5b37bdc46028b2ff0b0225.png
Great! You've successfully subscribed.
Great! Next, complete checkout for full access.
Welcome back! You've successfully signed in.
Success! Your account is fully activated, you now have access to all content.