統計分析のための R 言語環境構築(docker, RStudio Server)

この記事は個人ブログと同じ内容です

www.ritolab.com


R 言語を使った統計分析を行うための実行環境を docker で RStudio Server のコンテナを作成し構築します。

R 言語

R はオープンソースの統計解析向けプログラミング言語及びその開発実行環境です。

https://www.r-project.org/

RStudio

RStudio は、R と Python のための統合開発環境IDE)です。

コンソール、コードの直接実行をサポートする構文強調エディタ、チャートの描画、コマンドの履歴一覧、デバッグワークスペース管理のためのツールが含まれています。

https://posit.co/download/rstudio-desktop/

RStudio には、デスクトップで動作する RStudio と、サーバー上で動作させる RStudio Server があります。

今回は docker で RStudio Server のコンテナを作成し、ブラウザ上からアクセス・操作できるようにします。 (Jupyter Notebook のようなイメージ)

環境

PC は Mac です。Docker Desktop for Mac がインストール済みの前提です。

環境構築

The Rocker Project というものがあり、そこで R および RStudio の Docker イメージが提供されているのでこれを使用します。

1. Dockerfile 作成

まずは Dockerfile を作成します。

FROM rocker/rstudio:latest

ENV LANG ja_JP.UTF-8
ENV LC_ALL ja_JP.UTF-8
RUN sed -i '$d' /etc/locale.gen \
  && echo "ja_JP.UTF-8 UTF-8" >> /etc/locale.gen \
    && locale-gen ja_JP.UTF-8 \
    && /usr/sbin/update-locale LANG=ja_JP.UTF-8 LANGUAGE="ja_JP:ja"
RUN /bin/bash -c "source /etc/default/locale"
RUN ln -sf  /usr/share/zoneinfo/Asia/Tokyo /etc/localtime

RUN apt-get update && apt-get install -y \
  fonts-ipaexfont \
  fonts-noto-cjk

rocker/rstudio のイメージを使用し、日本語対応をしています。

日本語対応せずに配布されているイメージをそのまま使うだけだと、 チャートをプロットした際にチャートのタイトルや軸のタイトルに日本語が文字化けして使えない(R 界隈ではトーフになるというらしい)ため、 日本語の locale を追加し切り替え、日本語の font をインストールしています。

ちなみに rocker は Ubuntu(つまり debian ベース)です。

README.md - rocker-org/rocker-versioned2

# cat /etc/os-release
PRETTY_NAME="Ubuntu 22.04.2 LTS"
NAME="Ubuntu"
VERSION_ID="22.04"
VERSION="22.04.2 LTS (Jammy Jellyfish)"
VERSION_CODENAME=jammy
ID=ubuntu
ID_LIKE=debian
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
UBUNTU_CODENAME=jammy

日本語対応前

日本語対応後

2. docker-compose.yml 作成

次に docker-compose.yml を作成します。

version: '3'

services:
  rstudio:
    build:
      dockerfile: Dockerfile
    container_name: rstudio
    ports:
      - 8787:8787
    environment:
      PASSWORD: password
      TZ: Asia/Tokyo
    volumes:
      - ./R:/home/rstudio

PASSWORD の部分には、任意のパスワードを設定します。環境を立ち上げた後、ログイン画面にてここに記載したパスワードでログインします。

3. 環境起動・ログイン

2 つのファイルを作成したら、docker compose up コマンドでコンテナを起動します(初回はイメージをダウンロードするため時間がかかります)

起動したらブラウザから http://localhost:8787/ にアクセスします。

localhost:8787 にアクセスするとサインイン画面になるので、以下を入力します。

  • Username: rstudio
  • Password: docker-compose.yml で設定したパスワード

Sign in ボタンを押下すると RStudio にログインできます。

これで RStudio で R を使った統計解析を行うための環境が作成できました。

プロジェクトの開始

RStudio を使って R で分析をしていくために、まずはじめにプロジェクトを作成します。

  1. メニューより File > New Project を選択

  1. New Project ウィザードを開く

New Directory を選択

  1. New Project を選択

  1. Directory name を入力し Create Project を押下

これでプロジェクトが作成され、統計解析を初めていけるようになりました。

RStudioの使い方

最後に、分割された画面とタブが多いので各セクションの役割をまとめておきます。

Console

コマンドを入力し実行するところ。R を対話的に操作できる。

ctrl + l でコンソールの表示をクリアできる。

Source Editor

R のスクリプトファイルを編集できる。

ここで実行すると、実行内容が Console に送られる。

Files

プロジェクトルート配下に設置されているファイルやディレクトリを確認できる

いわゆるファイルエクスプローラなので、ファイルやディレクトリの作成や削除など一連の操作が可能。

Plots

スクリプト実行時にチャートを出力するとここに表示される。

画像へのエクスポートもできる。

Packages

ライブラリを管理できる。

ここから新たなライブラリのインストールなども行える。

画面左上の Install を押下するとダイアログボックスが表示されるので、インストールしたいパッケージを Packages に入力して Install ボタンを押下する

Console でインストールが走り、完了したら Packages にインストールしたライブラリが表示される。

Help

ヘルプページを参照できる

Viewer

ローカルで Web コンテンツを表示できる

RStudio Viewer

Presentation

markdown, html などで作成しているスライド(パワポのような、いわゆるプレゼンテーションのスライド)をプレビューできる。

ファイルを編集すると Presentation にも反映される。

Environment

作成した変数やデータセットの一覧が表示される

History

過去に実行したコマンドの履歴を参照できる

Connections

Tutorial

チュートリアルを参照できる。


現在 back check 開発チームでは一緒に働く仲間を募集中です。 herp.careers herp.careers herp.careers