Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
Help us understand the problem. What is going on with this article?

「tidyな分析環境つくるのがたいぎぃ」からDocker使う

More than 3 years have passed since last update.

これは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に切り替える予定です。 

kazutan
ただの残念なぞうさんです。同名のTwitterアカウントでほそぼそと。
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away