「ドキュメント・プレゼンテーション生成」という本を書きました


共立出版のシリーズ Useful R の中の「ドキュメント・プレゼンテーション生成」という本を執筆しました。

本書は統計解析手法の解説本ではありません

Rを使った解析・分析の結果について

  • 簡単に
  • 素早く
  • 間違いがないように
  • 再現可能な方法で

レポート(ドキュメント・プレゼンテーション)を作成する方法を解説しています。

ですので、Rを使って解析・分析を行って、

  • わかりやすい形で結果を眺めたい
  • 結果をまとめて誰かに見せたい
  • いつか自分で見直すかもしれない

といった人が対象です。要するに、Rを実務で使う全ての人が対象、ということだと思います。

再現可能性

本書の冒頭で大学院生の美咲さんのエピソードを紹介していますが(架空の話です)、「再現可能性」の重要性についての認識は日に日に高まっています。

実験科学の分野では再現可能性とは、「同じ実験条件なら同じ結果が得られる」ということを意味します。ですので、実験論文には実験条件がこれでもかというくらい細かく記述してあります

(余談ですが、著者の専門分野では人間を被験者として実験を行います。実験論文には、この時に被験者に支払った謝礼の額まで記載してあるケースが多いです。金額の多寡によるモチベーションの影響を考慮してのことだと思われます。10数年前初めて論文を読んだときは驚きました)

Rを使ったデータ解析・分析〜レポート作成の流れでの再現可能性とは、

  • レポートに載せられている結果(数値やグラフ)などをもう一度再現できる。
  • 自分以外の人でもその結果を再現できる。
  • レポートに間違いが見つかった時に、間違いの原因を突き止めることができる。

ということを意味します(本書第1章より)。

これ、できて当たり前のようで、実際にやろうとすると難しいです。

  • え、ちょっ、このグラフどっから出てきたの!!
  • この手法って初期値の影響大きいんだけど、この結果出た時の初期値って?
  • 元データどこだよ!!

とか、あるあるです。そんな現状を打破すべく、本書では「動的レポート生成」という手法を紹介しています。

動的レポート生成

knitrとかSweaveを使いましょう、という話なんですが、一言で言えば「ドキュメントと解析コードを一緒に記述して、あとは自動的にレポートを作成する」という方法です。採用するメリットは、

  • レポート作成に要する時間が大幅に減る
  • (主にコピペによる)ミスが大幅に減る
  • レポートに間違いがあった時に、その原因を簡単に突き止められる
  • 解析コードの意味が一目でわかるようになる

といった点が挙げられます。理由に関しては本書第1章に書いてあります。

再現性が必要な場合は動的レポート生成を導入しましょう(マジで)。

本書の内容

本書の構成は次のようになっています。詳細な目次は公式サイトアマゾンでどうぞ。

  1. 動的レポート生成の事始め
  2. knitrの基本的な使い方
  3. knitrでレポートのカスタマイズ
  4. knitr以外の動的レポート生成ツール
  5. ウェブを使ったプレゼンテーション
  6. レポート生成に使えるツールの紹介
  7. Shiny!!
  8. Rstudioをつかった動的レポート生成

付録1. 日本語処理、日本語フォントを使う方法など
付録2. knitrオプション一覧
付録3. markdown記法

簡単に補足すると、1〜4章までは動的レポート生成の実践的な話です。チュートリアルをたくさん入れておいたので、真似して始めるとこから試してもらうといいと思います。

5章は、slidifyとかrChartsとかgoogleVisとか、ウェブをつかったレポートの話です。例えば次のようなものです。

rChartsのサンプル
Polychart
morris.js
NVD3
Highcharts

こういうものをR上で簡単に作ってしまおう、という話です。

6章では、ムービーの作成(animationパッケージ)、表の作成(tablesパッケージ)、3次元プロットの作成(rglパッケージ)について紹介しています。個人的には余興的な扱いです。

7章のshinyは、ウェブアプリケーションをR上で簡単に作ってしまえますよ、という話です。超パワフルなプレゼンテーションツールです。何が出来るか、を一言で説明するのは難しいので、shinyデモギャラリーで遊んでみてください。

8章はRStudioの話ですが、RStudioが日々進化しているので、最新の情報は解説ページからどうぞ。

あと、特にwindowsでよく聞くんですが、日本語フォントが使えない〜、とか、日本語が〜、とか、そういう場合用の対処法を付録Aに入れておきました。但し完全に網羅してるわけではないと思うので、サポートサイトのコメントとかで質問してもらえれば、可能な範囲で答えます。動的レポート生成に関わるツール群の日本語対応は徐々に進めています。その情報もサポートサイトで適宜お知らせする予定です。

さいごに

本書に読んでくれた皆様が、レポート作成の関わる不毛で非生産的な作業から開放され、皆様の睡眠時間が少しでも増えれば著者冥利に尽きます。

Enjoy!!

Leave a comment