背景
RStudioのデスクトップアプリは各種OSに対応していますが、OS固有の問題(Windowsだと文字コード周りでエラーが出やすいなど)があります。また、どの端末からも同じ環境で使用できると便利です。
RStudio Serverを利用すればWebブラウザからRStudioを使用することができます。さらにDockerを使用すればサーバーを準備する必要もありません。ここではDockerを用いてWindowsでRStudio Serverを立て、WebブラウザからRstudioを利用してみます。
参考
RStudio Serverのインストール
Using the rocker/rstudio container
環境
OS: windows10 Pro (19043.1237)
Docker Desktop: 2.3.0.2
方法
1. Dockerのインストール
下記の記事などを参考にDocker Desktop for Windowsをインストールします。
WindowsでDocker環境を試してみる
2. rockerイメージの取得
rockerはRstudio Serverを含むDebianベースのDockerイメージです。docker hubで検索すると複数のレポジトリがヒットします。最小構成のrocker/rstudioをインストールしても良いですが、ここでは使用頻度の高いライブラリがインストール済のrocker/tidyverseをインストールします。
Windows PowerShellを起動し、下記のコマンドを実行します。
docker pull rocker/tidyverse
3. rockerの起動
Windows PowerShellで下記コマンドを実行します。
docker run -p 8787:8787 -v C:¥Users¥yourname¥Documents¥rstudio:/home/rstudio -e PASSWORD=yourpassword rocker/tidyverse
Rstudio Server上で作成したファイルをホスト(windows)側からも取得したいので、Documentsフォルダに直下に「rstudio」フォルダ作成し、-vオプションでrockerのホームディレクトリ(/home/rstudio)にマウントさせています。また「-e PASSWORD=」で任意のパスワードを設定する必要があります。ポートはrockerのREADMEに従って8787を指定しています。
4. ブラウザでRStudio Serverにアクセスする
ブラウザを起動してアドレスバーに「localhost:8787/」と入力します。
ユーザー名とパスワードが求められます。ユーザー名はデフォルトで「rstudio」、パスワードはコンテナを立ち上げるときに設定したものになります。
結果
デスクトップアプリとほぼ同じ外観でブラウザからRstudioを使用できます。
※ログイン時点ではSourceパネルが表示されていません。Tools→Global options→Pane LayoutでSourceパネルを表示できます。
散布図をggplot2で作図し、png形式で保存してみます。
library(tidyverse)
x <- rnorm(100)
y <- rnorm(100)
dt <- data.frame(x, y)
ggplot(dt, aes(x = x, y = y)) +
geom_point()
png("test.png")
ggplot(dt, aes(x = x, y = y)) +
geom_point()
dev.off()