rstudio::conf 2019 参加レポート

Data LabsのYutaniです。
LINEには「エンジニアは技術に関連する海外カンファレンスへの参加費用すべてを一年に一回は会社に負担してもらえる」という制度があります。私はその制度を使い、2019年1月15〜18日にアメリカのオースティンで開催された「rstudio::conf 2019」にポスター発表で参加しました。その様子を紹介します。

rstudio::confについて

rstudio::confは、RStudio社が開催するRのカンファレンスです。R関連のカンファレンスとしては他にUseR!がありますが(参考:2018年のUseR!の参加報告)、今年のrstudio::confの参加者は約1700人を数え、世界最大規模となりました。

発表内容は、UseR!と比べるとエンジニア色が強い傾向がありますが、プログラミング言語としてのRについての話からデータサイエンティストチームのあり方まで、多岐に渡っています。また、発表者には、RStudio社のチーフサイエンティスト・Hadley Wickham氏をはじめ、R界のスーパースターが名を連ねています。今回は1人で参加しましたが、聞きたいセッションが多すぎて悩む時間の連続でした。

ポスター発表

rstudio::conf 2019は、ワークショップが行われる前半(1月15、16日)、口頭発表が行われる後半(1月17日、18日)に分かれており、ポスター発表はその中間、16日の夜に行われました。会場では夕食が振舞われ、参加者はアルコール片手にポスターを回るというカジュアルな形式でした。私は gghighlight という自分が開発したRのパッケージについて発表しましたが、たくさんの人に興味を持って話しかけてもらえて嬉しかったです。中には「gghighlight 使ってるよ!」と声をかけてくる人もいて、さまざまなフィードバックをもらうことができました。準備は大変でしたが、とても有意義な時間になりました。

気になった発表

rstudio::conf 2019での口頭発表の動画は以下のウェブサイトですべて公開されています。ここでは、個人的に気になったものをいくつかピックアップして紹介します。
rstudio::conf 2019

RStudio Job Launcher Changing where we run R stuff – Darby Hadley

動画: RStudio Job Launcher Changing where we run R stuff – Darby Hadley

RStudio v1.2の目玉の新機能のひとつJob Launcherの紹介です。これは、指定したRスクリプトをバックグラウンド実行する機能のことです。無料版のRStudioだとそのマシン上で実行するだけですが、RStudio Server ProではKubenetesクラスタなどリモートの実行環境を選べるようになります。Job Launcherはプラグインを自作すれば任意の実行環境を使えるらしく、かなり便利そうでした。

また、メインのRセッション自体もKubernetesなどリモートの環境から立ち上げることができます。これによって、異なるRのバージョンや様々な環境を試すことが簡単にできるようになります。
RStudio v1.2のリリース予定はまだ未定のようですが、なかなか面白そうです。

parsnip: A tidy model interface – Max Kuhn

動画: parsnip: A tidy model interface – Max Kuhn

parsnipは、様々なバックエンド(例:Spark、Stan、Tensorflow)をラップして、統一的なインタフェースで扱えるようにするためのパッケージです。内容としてはそれほど新しい情報は出てこない気がしますが、モチベーションについてまとまった情報を聞くことができて少し全体像がつかめた気がしました。

個人的には、最後の方の

I really use them in production. (中略) How long do we have to wait?

という質問への回答が衝撃的でした。ぜひ聞いてみてください。

pkgman: A fresh approach to package installation – Gábor Csárdi

動画: pkgman: A fresh approach to package installation – Gábor Csárdi

pkgmanは今はpakという名前になっている、パッケージ管理のためのパッケージです。個人的な注目は、pakにはパッケージをキャッシュする仕組み(pkgcache)があることです。Rではpackratでプロジェクトごとに環境を分けるということがあまり流行りませんが、それはパッケージインストールが遅いというのが理由の一つだと思っています。pakはまだ開発途上のようですが、パッケージのインストールがもっとお手軽になるのを期待したいです。

Visualizing uncertainty with hypothetical outcomes plots – Claus Wilke

動画: Visualizing uncertainty with hypothetical outcomes plots – Claus Wilke

アニメーションを活用して不確実性を可視化する「Hypothetical Outcome Plots(HOPs)」という実験的な手法についての話題でした。HOPsは、データをグラフとして描いてしまうと固定的なものに見えてしまいがち、という問題意識には個人的にはとても共感します。しかし、やはり目にまだ馴染みがなく、不確実性のコミュニケーションにどう役立てていけるのかまだピンときていません。議論としてはとても面白そうなトピックなので、今後も追っていきたいと思っています。

tidyverse developer day

rstudio::confの翌日、tidyverse developer dayという開発者向けのイベントが開催されました。これは、tidyverseと呼ばれるパッケージ群のレポジトリに登録されているissueをみんなで黙々と解決していくという地味なイベントです。しかし、R界の著名な開発者たちがあちらこちらにいて助けてくれるというなんとも贅沢な時間でした。

ちなみに私が取り組んだのは、tidyrパッケージに登録されていたアイディアのプロトタイプをつくることです。かなり複雑な内容でしたが、そのアイディアを考えたKirill Müller氏から直接アドバイスをもらってなんとか形にできました。一人ではおそらく手をつけようとも思わなかったものだったので、とても貴重な経験になりました。

最後に

行くまでは不安でいっぱいでしたが、いろんな人と話せてとても刺激になりました。特に、tidyverse developer dayは面白かったので、日本でもRのコードを書くために集まるイベントをいつか開催できたらいいな、と密かに思っています。

LINEではRを仕事でバリバリ使いたいデータサイエンティストを募集しています。ぜひ私たちといっしょに来年のrstudio::confに行きましょう!(もちろんR派ではない人も大歓迎です)

Related Post