R Advent Calendar 2021 8日目の記事です。
2021年も終わろうという今日この頃、皆様のWindows(Windows 10)でもwingetコマンドをいつの間にか使えるようになっているのではないでしょうか?
本日はこれでRとRStudioをインストールしていきたいと思います。
なおWindowsTerminal未インストールの場合、Windows PowerShell(Windows10に最初から入っているPowerShell 5)で起動するコンソールでは表示がアレになるため、cmd.exeを起動して開くコンソールで作業した方が良いようです。
(スクリーンショットのためにWindowsサンドボックス上で再現したため管理者権限で動いていますけど、cmd.exeを管理者として起動する必要はありません)
インストール
Rのインストール
winget install -i rproject.r
-i
オプションを付けているためインストーラーの画面が開くので、お好みで選択肢を選んでインストールします。終わり。
RStudioのインストール
winget install -i rstudio.rstudio.opensource
-i
オプションを付けているためインストーラーの画面が開くので、お好みで選択肢を選んでインストールします。終わり。
Rの設定
デフォルトリポジトリ(CRAN)の設定
パッケージをインストールするCRANのミラーサイトを設定します。日本にあるミラーサイトを使っても良いのですけど
Automatic redirection to servers worldwide, currently sponsored by Rstudio
と書かれているhttps://cloud.r-project.org/
(0-Cloud)を使っておけば問題ないでしょう。RStudio社に感謝。
最近追加したアプリとして表示されるR(RGui)からfile.edit()
関数を使いマイドキュメント(例:C:\Users\username\Documents
)に.Rprofile
(.rprofile
)というファイルを作成して以下のような内容を記入します。
file.edit("~/.Rprofile")
options(repos = c(CRAN = "https://cloud.r-project.org/"))
なお、Rに限らずマイドキュメントに設定を保存するようになっているプログラムが大量にあることとOneDriveが自動で「ドキュメント」というカタカナでフォルダを作り変更できない仕様になっているのとの合わせ技で、OneDriveのバックアップ機能でドキュメントフォルダをバックアップするのは完全に罠になっています。マイドキュメントをOneDriveでバックアップするのはオススメできません。
ライブラリ保存先の変更
とりあえずRGuiから{dplyr}
パッケージをインストールしてみましょう。
install.packages("dplyr")
規定の設定ではライブラリはC:\Program Files\R\R-4.1.2\library
のような場所にインストールされます。ここは管理者権限のない場合には書き込めないので、書き込めない場合RはC:\Users\username\Documents\R\win-library
のような場所へインストールするか尋ねてきます。
承諾してインストールするとデフォルトのインストール先はそこに設定され、今後は尋ねられなくなります。
RStudioの設定
特になし。
その他インストールとは関係のない話
Proxy設定
install.packages()
等はWindowsのProxy設定を使ってくれるようで、特に設定の必要はありません。
(2022/05/22追記)これまでdownload.file(method = "wininet")
だったためにWindowsのProxy設定を自動で使ってくれていたところがR 4.2.0でwininet
は非推奨となり、デフォルトは他OSと同じlibcurl
になったため、WindowsのProxy設定を使ってくれなくなりました。以下のようにALL_PROXY
を設定するのがオススメです。
色々なパッケージの内部で使用されている{curl}
パッケージはWindowsのProxy設定を使ってくれないようなので、Cntlmやpxを設定して.Renviron
(.Rprofile
と同じようにfile.edit("~/.Renviron")
で編集できます)にALL_PROXY=localhost:3128
とか書くと良いです。詳しくは{curl}
パッケージのドキュメントを見てみてください。
Rscriptコマンドと.Rファイルの文字コード
Rscript --encoding=utf-8 foobar.R
みたいな感じでエンコードのオプションを指定できます。