コンテナによるRStudio環境準備とRStudioプロジェクト作成について

2022.12.10

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

データアナリティクス事業本部の鈴木です。

クラスメソッド 機械学習チーム アドベントカレンダー 2022』の10日目のエントリーになります。

昨日(9日目)はLambdaのコンテナデプロイでYOLOv5の推論エンドポイントを作成する記事でした。AWSを使って自分で物体認識がしたい方からするとめちゃめちゃ熱い記事です。

現状、機械学習分野ではPythonを使う方が多いように思いますが、もちろん確率統計の理論的な論文を読んでいるときなど、サンプルコードがRであることがあります。

先日読んだ論文のサンプルコードがRStudioプロジェクトで作られていたのですが、.Rprojファイルをみて、「あれっ、これってなんだろう……」と思い、それだけで「もしかしてこのソースコードは自分には理解できないのでは!?」と思ってしまったので、その気持ちを乗り越えるため、基本的なことですが自分でぽちぽち作ってみることにしました。

ドキュメント

公式のドキュメントにRStudio Projectsの作成に関する記載があったので、こちらを参考にしました。

Using RStudio Projects – Posit Support

環境準備

今回はRockerRancher Desktopを使用して環境を構築しました。

以下のdocker-compose.ymlを用意しておきます。

docker-compose.yml

version: '3'

services:
  rstudio:
    image: rocker/rstudio
    container_name: rstudio
    ports:
      - 8787:8787
    environment:
      PASSWORD: RStudio_PASS
      TZ: Asia/Tokyo
    volumes:
      - ./R:/home/rstudio

ディレクトリ構造は以下のようにして、docker-compose upで起動します。

# ディレクトリ構造
tree
# .
# ├── R/
# └── docker-compose.yml

# コンテナの起動
docker-compose up

コンテナが起動したら、localhost:8787にアクセスすると認証情報を求められるので、ユーザー名rstudiodocker-compose.ymlに記載したパスワードを入力してログインします。

Rancher Desktopは以下のブログを参考に1.6.2をインストールしました。

RStudioはRStudio Server 2022.07.2 Build 576でした。

やってみる

環境が準備できたので、ぽちぽちRStudioプロジェクトを作って、どんな感じでできるのか見てみました。

RStudioにログインしたら、File > New Project...をクリックします。

プロジェクト作成1

New Project WizardNew Directoryをクリックします。

プロジェクト作成2

New Projectをクリックします。

プロジェクト作成3

Directory namesample_projectとしておきます。

プロジェクト作成4

以下のようにファイルが作成されました。

tree
# .
# ├── R
# │   └── sample_project
# │       └── sample_project.Rproj
# └── docker-compose.yml

プロジェクトのトップが開かれ、RStudio側のセッションも新しいものになります。

Rプロジェクト作成結果

sample_project.Rprojの中身は以下のようになっていました。これが私が知りたかったファイルです。拡張子.Rprojのファイルは、プロジェクト オプション設定についての記載があり、ファイルシステムから直接プロジェクトを開くためのショートカットとしても使用できるそうです。

sample_project.Rproj

Version: 1.0

RestoreWorkspace: Default
SaveWorkspace: Default
AlwaysSaveHistory: Default

EnableCodeIndexing: Yes
UseSpacesForTab: Yes
NumSpacesForTab: 2
Encoding: UTF-8

RnwWeave: Sweave
LaTeX: pdfLaTeX

ここに記載の内容は、Project Optionsから確認できました。プロジェクト オプションは、設定することでRStudioの動作をカスタマイズするためのオプションです。これは例えばRStudioのUIからsample_project.Rprojファイルをクリックするとでてきました。

Generalの設定

Code Editing

確かに、.Rprojの拡張子のファイルに記載されているのと同じ内容の設定ができますね。

おわりに

この記事では、RStudioからRStuioプロジェクトを作成してみて、できるファイルについて確認しました。.Rprojの拡張子のファイルはプロジェクトの設定ファイルで、ショートカットの役割も果たしてくれる便利なファイルであることも分かりました。Pythonメインで使っていると、いざ理論的な方面に興味がでて論文のサンプルコードを読んでもこういった細かいところで分からないと気になってしまいますが、また一歩前進できたのでよかったです。コンテナでの環境構築もご紹介したので、興味がある方はいろいろ触ってみて頂ければと思います。