RユーザのためのRStudio[実践]入門 という本が出ます。

kazutan
5 min readJun 3, 2018

--

タイトルのように、6/29に以下の書籍が出ます:

共著者から「熱い思いを書いてくれるはず」とトスを受けたので、私なりにこの書籍をご紹介したいと思います。

まず本書は以下の構成となっています(担当者名はtwiiterアカウント):

  1. RStudio入門(担当: y__mattuさん)
  2. スクレイピングによるデータ取得(担当: y__mattuさん)
  3. dplyrを中心としたデータハンドリング(担当: yutannihilationさん)
  4. ggplot2による可視化(担当: kyn02666さん)
  5. R Markdownによるレポーティング(担当: kazutan)

これだけ見ると、「ああよくあるR入門書籍かな」と感じるかもしれません。しかしそれらと決定的に違うのは各トピックの「濃厚さ」です。私達が目指したものは「ただのさらっとした入門書」ではなく、「本格的、そして実践的にRを使っていくために必要なものを詰め込んだ決定本」です。第一線でR/RStudioを使い、またR勉強会や講演、Webで多くのことを発表してきたメンバーによる、厳選された内容となっています。各章の解説や紹介についてはメンバーがそれぞれ書き起こしてくれると思うので、全体的な紹介と私の担当したR Markdownについて紹介します。

本書のテーマの一つは「tidyverseに準拠した分析ワークフロー」です。分析と一言で言っても実際にはいろいろな工程を含みますし、それを意識しておかないと出戻りやトラブルの原因となります。本書はその分析ワークフローを意識してもらい、それをR上で実践していくためにtidyverse準拠としました。
詳しくは「はじめに」に書きましたが、分析者はこのワークフローを意識して遂行しないと手のうちようがないというのが現状です。「じゃあそれをどうやって意識して実現していけばいいのよ?」という問いに対し、本書は実践的なコードと第一線で活躍するメンバーによるちょっと踏み込んだ解説で回答します。ちょこちょこ著者陣によるややマニアックな説明が入っているので、こなれたRユーザーの方はそこも楽しんでもらえれば幸いです。

本書のもうひとつのテーマは「RStudioを使い倒す」です。RStudioはもっともメジャーなR向けIDE(統合開発環境)ですが、その全ての機能を把握するのは困難です。またRStudioの開発スピードは目覚ましく、実際本書を執筆している間にRStudioのversionがあがって機能が追加されたという事態にも遭遇しました。
幸い著者メンバーはpreview版からチェックしており、執筆中のアップデートであっても即座に検証して対応し、本書にまとめていきました。この対応レベルは他書よりも遥かに高いレベルでしょう。
しかし、このように書くと「だったらこの本で書いてるRStudioの機能ってどうせ使えなくなるんじゃね?」と思われるかもしれません。これは本書に限らず技術書全般で言える問題です。そこで本書は陳腐化しないようコアな機能を中心に、さらに知らないと損をするような機能を重点的に紹介しています。でも著者陣はその中でもあまり知られてない便利な機能を差し込んでいます。ぜひ探してみて使ってみてください。
他にも魅力は多々ありますが、他の執筆陣の紹介記事に譲りたいと思います。

私が担当したR Markdownについて軽く紹介します。
R MarkdownはRでドキュメントを生成する”システム”です。3年ほど前では国内ではあまり取り組んでいる人は少なかったのですが、最近では国内でも非常に注目を集めています。ずっと布教してきた私としては嬉しい限りです。
R Markdownは非常に奥が深く、やろうと思ったらどこまででも楽しめてしまうという魅力があります。私はその魅力にとりつかれた一人なのですが、今回は「分析のレポーティング」に絞りました。R Markdownに対する苦情として「機能や設定が多すぎてもうわからない」というのをよく聞きます。それへの私からの答えとして、今回まとめたつもりです。まずはシンプルにhtml_documentからはじめてください。慣れてきたら、私を始めいろんな人に「こういうのが不便/できないんだけどどうしたらいい?」と振ってみてください。きっと次のステップへ進むことができるでしょう。

最後に、本書は編集Tさんがあって初めて成立した書籍だと思います。このような機会を与えてくださったTさんおよび他の著者陣に対し深く感謝します。
そして多くの方が本書を手に取り、みなさんのRによるデータ分析がtidyverseの名の通り宇宙のように広がりを持つことを祈念しております。

Enjoy!

--

--