これはRStudio Advent Calendar 2017tidyポエム Advent Calendar 2017の22日目の記事です。クロスポストご容赦ください。

tidyたいぎぃ

「たいぎぃ」とは広島弁で「めんどくさい」とかそういうニュアンスの方言です。老若男女問わずに「あーもうこれやるんたいぎぃわー」といった感じで使ってます。なお私は広島県民になって20年以上経過しましたが,未だに無意識で「たいぎぃ」という言葉を発するまでには至ってません。「じゃけぇ」は使うのに。

閑話休題。Rで分析環境を整えようとするなら,少なくとも以下のような手順が必要になるかと思います:

  1. マシンにRをインストール
    1. R本体をインストール
    2. (必要であれば)Rtoolsといったコンパイラをインストール
  2. マシンにRStudioをインストール
  3. Rを起動して必要なパッケージをインストール
    1. パッケージをCRANなどから持ってくる
    2. (必要に応じて)R外のライブラリなども入れる

結構面倒ですね。そしてtidyverseはパッケージが多く,いくらinstall.packages("tidyverse")で入れられるといえ,結構時間かかります。「たいぎぃ」です。

さらに,これがたったひとつのマシンならいざ知らず,複数台を所有(or管理)している,さらにOSもWin, Mac, Ubuntuなどバラバラだったらどうでしょう。これはもう「くそたいぎぃ」ですね。

というわけで,Dockerを利用します。

Dockerでtidyな分析環境を構築

DockerでR環境?

Dockerを利用してR+RStudioの分析環境を構築する方法や手順については,すでに私自身や他の方の記事がありますので,それらを紹介するに留めます。ぜひともRユーザーの方は一読をおすすめします:

rocker/tidyverse イメージ

RのDockerイメージとして最も有名なのがRocker Projectです。リンク先を見てもらえればわかるように,様々なイメージが公開され,日々更新されています。

その中でも,rocker/tidyverseというイメージに注目してください。これはtidyverseな環境を一気に持ってきてくれるイメージで,今回のコンセプトにバッチリです。なお,このイメージに関する説明はDockerHubにあるこちらの説明を参照してください。

さて,「じゃあもうrocker/tidyverseイメージを利用してコンテナ作れば解決じゃね?」と言いたいところですがそうはいきません。このイメージはあくまでグローバルなもので,日本(日本語)向けではありません。タイムゾーンや日本語化,そして日本語フォントなどの設定をしなければいけません。これは「たいぎぃ」ですね。

tokyor/rstudioイメージがある

2017/12/25 13:49追記: Dockerイメージの管理をtokyorから切り離し,別途rocker-jpというのを立てることにしました。次節へ飛ばしてください。

これらを現在クリアしているのがtokyor/rstudioイメージです。実はこのイメージは先日まで古いバージョンのままでしたが,先日私もSource Repogitory側の方へcontributorとして入りましたので,いくつか修正を行いました。

  1. FROMrocker/hadleyverseからrocker/tidyverseへ変更
  2. 日本語用フォントとしてIPA系フォントを導入1
  3. rocker/tidyverseをリンクさせることで,リンク先のリポジトリがupdateされた時に自動的にリビルドするように

1により,Rの最新版,RStudio Serverの最新安定版へ移行し,tidyverseなパッケージ群も新しい物が導入されるようになります。また,また日本語も新たに追加しましたので,すんなりとggplot2などで日本語をplotしたりできます。さらに3にあるように,更新も自動的になりました。

つまり,tokyor/rstudioイメージでコンテナ作ればOK…なのですが,メンバーで協議した結果,新たに組織を作って運用していくことにしました。

そしてこれからはrockerjp/tidyverse

前節のとおりなのですが,tokyorでDockerまわりを続けるのもなぁということで切り離すことになりました。その名もrocker-jpです:

現在tokyor/rstudioで準備していたDockerイメージをそのままrockerjp/tidyverseとして移行し,またrocker/verseを日本語化したものをrockerjp/verseとして準備しています。

今後はこちらで運用していくこととなりますので,よかったら今後もチェックしてもらえればと思います。

今後のお話

せっかくcontributorに入れてもらえたので,もう少しいろんなイメージを準備できたらなと思ってます。今のところディスカッションしているのはrockerの中のイメージをベースに日本語環境を整えたものを提供する,などです。いつになるかはわかりませんが,ぼちぼちとやっていきたいと思ってます。

「まだ自分にはDockerなんてよくわからないし難しそう…」と思わずに,ぜひ一度試してみてください。そして「たいぎぃ」から開放されましょう。

Enjoy!


  1. 2017/12/21 22:30時点では,IPAMinchoとIPAGothicが入っていますが,近々IPAexMinchoとIPAexGothicに切り替える予定です。 

Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account log in.