人間環境大学総合環境学部フィールド自然学科の必修科目「環境データの可視化技法」では、Windows 版の「R」と「Rコマンダー」を使って演習を行う。学生のPCに「R」と「Rコマンダー」のインストールをする際には、さまざまなフシアワセが憑依した。下記にその除霊の顛末を書き記しておく。
- 「Windows 版 R をインストールする際に OneDrive を使わない方法はあるだろうか?」:Rをインストールしたのち、「GUI プレファレンス」で変更した「Rconsole」が手元のローカルPCではなく、遠くの OneDrive に飛んで行ってしまって変更が反映されないというフシアワセに多くの学生が泣いた。そこで、冒頭の質問を ChatGPT に投げたところ、「非常に良い質問である」と、下記の解決策を示してくれた:
- エクスプローラで「ドキュメント」フォルダを右クリック →「プロパティ」→「場所」タブへ。
- 「場所」タブの「既定値に戻す」ボタンを押す。
- 表示されるメッセージで「ファイルを元の場所に移動しますか?」→「はい」を選択。
- Windows を再起動してから、R を起動する。これでシアワセになれるはず。
- 「R コマンダーが起動しないフシアワセを除霊したい」:少なくともうちの学科の学生が持っている Windows PC (ASUS あるいは Fujitsu)では、下記の手順ですべて除霊できた(R本体はすでにインストールされているものとする):
- R を起動し、プロンプトから「
library(Rcmdr)」とキー入力する。これでRコマンダーが起動すれば、すでにアナタはシアワセ者。 - Rコマンダーが起動せず、「〜〜〜のパッケージがない」というエラーメッセージ(英語)が出たときは、その「〜〜〜」というパッケージを手動インストールする。具体的には下記のスクリプトを実行する。
install.packages("〜〜〜", dependencies = TRUE) - 「
library(Rcmdr)」を実行する。ふたたび「………のパッケージがない」というエラーメッセージが出たら 2 へ戻る。 - 2 と 3 を何度か繰り返せば、最後には Rコマンダーが起動してシアワセになれる。
- 「R 起動時に R コマンダーを自動読み込みしたい」:R起動時に特定パッケージを自動読み込みするには、Windows 11 でも macOS でも同じだが、R起動時に読み込まれる設定ファイル「
.Rprofile」(C:\Users\<ユーザー名>\Documents
に置かれている) に「library()」を記述すればよい。具体的には、下記の手順に従う: - R を起動して「
file.edit("~/.Rprofile")」をキー入力し、
.Rprofileを開く。 .Rprofileに、下記を入力する:
if (interactive()) {suppressPackageStartupMessages(library(Rcmdr))}
あるいは
local({
old <- getOption('defaultPackages')
options(defaultPackages = c(old, 'Rcmdr'))
}).Rprofileを保存したのち、R を再起動すると R コマンダーが自動的に開かれる。- 「macOS で英語環境で R コマンダーを自動読み込みしたい」:これは学生のフシアワセではなく、ワタクシが M4 MacBook Pro にしてからずっと悩んでいたフシアワセだ。どういうわけか日本語フォント設定のトラブルで、R コマンダーの日本語版が立ち上がらなかった(起動中に強制終了)。ためしに、「
.Rprofile」 に下記スクリプトを保存して、Rを再起動したところ、英語版 Rコマンダーを自動起動することができた。
とりあえず “半分シアワセ” というところか。なお、macOS の R ミラーサイトを変更する際には下記のスクリプトを R から入力すればよい:
Sys.setenv(LANGUAGE = "en")
library(Rcmdr)
chooseCRANmirror()
- 「RやRStudioのインストールの際、Windows 10以前の環境だと、マルチバイト文字(たとえば全角仮名漢字)がパス上にあるとインストールできなかったが、現在のWindows 11 ではそういうエラーは発生しない。その理由はどこにあるのだろう?」:この疑問はかつて “マルチバイト文字地獄” に喘いだ経験があるワタクシにはずっと疑問だったのだが、ふと思い立って、冒頭の質問を ChatGPT に問い合わせてみたら、「極めて鋭い質問である」とくわしく説明してくれた。「結論から言えば、Windows 11(および Windows 10 21H2 以降)では、RやRStudioがマルチバイト文字(日本語など)を含むパスでも正しく動作するのは、Windowsの「UTF-8対応」がOSレベルで標準化されたためである」「旧WindowsはShift_JISで、R内部のUTF-8との齟齬がエラーの原因だった。現在のWindows 11ではOS全体がUTF-8ロケールを標準化されている。また、R 4.2以降+RStudio新バージョンはUTF-8ネイティブ化済み」とのこと。だから、マルチバイトの沼に溺れなくなったのか。そうだったのかー。