ゆるふわクオンツの日常

ubuntu on wsl2で R (rstan) & Rstudio GUI版 の環境を整えた話

ベイズモデリングや時系列なんかをやっていると

PythonよりもR (rstan) を使いたくなる時がたまにあります(一番下の参考書などご参照)。

で、そういった時に、windowsだと以下のツイートのように、

wsl2上の環境でRを実行したほうが良いことも多いので、

wsl2でGUIのR環境(Rstudio)を設定してみましたというお話です。

(上記のツイートではサーバー版Rstudioが言及されていますが、

当時はwsl2でGUIアプリを使うのがかなり難しかったです。

windows 11だとGUIアプリも比較的簡単に使えるようになっているので

この記事ではGUIアプリ版を使ってみたいと思います。)

step.0 wsl2とドライバーの準備

まずは、wsl2の有効化を下のリンク先にのっとって行います。

docs.microsoft.com

(ストアアプリでもwsl導入できるらしいのでそっちの方が安全かも)

続いて、wsl2でLinuxGUIアプリを使えるように

以下の記事に従ってドライバをインストールします。

docs.microsoft.com

以下のリンク先から対応するグラボのドライバをインストールしましょう。

以上で、wsl2でGUIアプリが動く環境を作れました。

step.1 ubuntu環境の下準備

ubuntuを起動して、最低限のセットアップを行います。

パッケージマネージャーの情報を更新します。

sudo apt update
sudo apt upgrade

そして、ビルドツールをいれます。

sudo apt install build-essential

また、 rstan を入れる場合は以下のツールも入れておきましょう。

sudo apt install libv8-dev
sudo apt install libcurl4-openssl-dev

あとは、他のライブラリ(brms など)をRに入れる際に必要になるところだと

以下あたりもまとめて入れてしまってもいいかもしれません。

sudo apt install libxml2-dev

step.2 Rをubuntuにインストール

続いて、ubuntuにRをインストールします。

Rでググっていくと以下のページにたどり着きます。

そのページの中の、赤線を引いてあるubuntuのURLを開くことで以下のページにたどり着けます。

https://cran.ism.ac.jp/bin/linux/ubuntu/

基本的にはこちらにのっとってコマンド入力するだけです。

sudo apt install --no-install-recommends software-properties-common dirmngr
wget -qO- https://cloud.r-project.org/bin/linux/ubuntu/marutter_pubkey.asc | sudo tee -a /etc/apt/trusted.gpg.d/cran_ubuntu_key.asc
sudo add-apt-repository "deb https://cloud.r-project.org/bin/linux/ubuntu $(lsb_release -cs)-cran40/"
sudo apt install --no-install-recommends r-base

なお、rstan などコンパイルを必要とするパッケージをインストールする予定の方は、

以下のfull READMEに書いてあるように

https://cran.ism.ac.jp/bin/linux/ubuntu/fullREADME.html

sudo apt install r-base-dev

もやりましょう!

(ちなみに私はこれに気づかず、rstanのインストールで半日以上溶かしてしましました...)

step.3 Rstudioをubuntuにインストール

それではお待ちかねのGUIアプリのRstudioをインストールします。

Rstudioのサイトから、ubuntu向けのdebファイルのリンクを確認します。

www.rstudio.com

そして、ubuntuのターミナル上からdebファイル入手&インストールをやっていきます。

cd ~/tmp
wget https://download1.rstudio.org/desktop/bionic/amd64/rstudio-2021.09.0-351-amd64.deb
sudo apt install gdebi
sudo gdebi rstudio-2021.09.0-351-amd64.deb

これで ubuntu on Linux 上にめでたくRstudioがインストールできました!

この状況で、ubuntu ターミナル上で

rstudio

と打ち込むと、以下のようなGUIアプリが起動します。

めでたしめでたし

step.4 Rstudioの日本語対応

とまぁこれで概ね問題ないのですが、

この状態だと日本語フォントがRstudioから見えないので

日本語ファイルなどが文字化けして見えます。

そこで、以下のようにフォントをインストールしてみます。

sudo apt install fonts-takao-gothic

あわせて fonts-arphic-uming もinstallしている事例もあったので、

セットでインストールしてもよいかもしれません。

Rstudioが終了できなくなった場合

このように、ubuntuからコマンドで起動できたRstudioですが

ubuntuアプリを閉じてしまったりするとゾンビプロセスみたいに

普通には削除できないプロセスになってしまうことがありました。

こういう場合は、再度ubuntuアプリを立ち上げ、

ps aux

でRstudioのプロセスID(PID)を確認し、

kill {PID}

することで強制終了できます。

余談:rstanよりcmdstanrの方がイケてるらしい

界隈では rstan より cmdstanr に流れつつあるみたいですね。

www.slideshare.net

パッケージのインストールは下記の公式ページの手順を見れば一発ですが

mc-stan.org

要は以下のコマンドポチポチでOKみたいです

install.packages("cmdstanr", repos = c("https://mc-stan.org/r-packages/", getOption("repos")))
library(cmdstanr)
check_cmdstan_toolchain()  # The C++ toolchain required for CmdStan is setup properly! と表示されればOK
install_cmdstan(cores = 2)