Rの開発環境を構築してみた(RStudio,RStudio Server)

はじめに

最近,データの分析をやる必要が出てきたので,Rを触ってみました.
開発環境構築の流れを記録しておこうと思います.

環境

Ubuntu 20.04

Rのインストール

ドキュメントに従ってインストールすればOKです.
cran.r-project.org
今回はapt経由でインストールしました.

$ sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys E298A3A825C0D65DFD57CBB651716619E084DAB9
$ sudo add-apt-repository 'deb https://cloud.r-project.org/bin/linux/ubuntu focal-cran40/'
$ sudo apt-get update
$ sudo apt-get install r-base

$ Rと打ってプロンプトが表示されればOKです.(小文字ではなく大文字で入力してください)

RStudio Serverのインストール

RのIDEであるRStudioをWebブラウザから使えるRStudio Serverというものがあるので,これをインストールします.
これもドキュメントどおりにインストールするだけです.
rstudio.com

$ sudo apt-get install gdebi-core
$ wget https://download2.rstudio.org/server/bionic/amd64/rstudio-server-1.3.1093-amd64.deb
$ sudo gdebi rstudio-server-1.3.1093-amd64.deb

インストールすると,8787番ポートでRStudio Serverが起動するので,ブラウザからアクセスすればOKです.
ログインのアカウントはホストのマシンのアカウントと同じです.

Nginxでリバースプロキシの設定をする

別のマシンからもアクセスできるようにしたかったので,Nginxでリバースプロキシの設定をして,仮想ディレクトリからアクセスできるようにしました.
これも概ねドキュメントどおりに設定すればOKです.
support.rstudio.com
設定ファイルはこんな感じです.

map $http_upgrade $connection_upgrade {
      default upgrade;
      ''      close;
    }

server {
    listen 443 ssl http2;
    listen [::]:443 ssl http2;
    server_name example.com;

    rewrite ^/r-studio$ $scheme://$http_host/r-studio/ permanent;
    location /r-studio/ {
         rewrite ^/r-studio/(.*)$ /$1 break;
         proxy_pass http://192.168.x.x:8787;
         proxy_redirect http://192.168.x.x:8787/ $scheme://$http_host/r-studio/;
         proxy_http_version 1.1;
         proxy_set_header Upgrade $http_upgrade;
         proxy_set_header Connection $connection_upgrade;
         proxy_read_timeout 20d;

        allow 192.168.0.0/24;
        deny all;
    }
}

maprewriteの設定を忘れたら動かなかったのでちゃんと書きましょう.
今回はLAN内からのアクセスのみ通すように設定しました.
これで https://example.com/r-studio でアクセスできるはずです.

おわりに

今回初めてRを書いてみたのですが,データの分析を行う上で必要な機能が簡単に使えるのですごくいいなと思いました.
グラフ出力なども簡単にできていい感じです.
パッケージのインストールなどもサクッとできるのが気に入りました.
しばらく書いてみて,慣れていこうと思います.