R Markdownで楽々レポートづくり

第1回 レポートづくりのオートメーション化 ~素早く・ミスなく・再現可能に~

この記事を読むのに必要な時間:およそ 2 分

はじめに~レポートづくりのオートメーション化~

データを扱う仕事をしている人にとって,レポートの作成はあらゆる業務に欠かせない,しかし決して面白くはない作業です。本連載ではレポート作成の手間と苦労に頭を悩ます人々を救うべく,R言語とR Markdownと言うツールを用いたレポート作成のオートメーション化について解説します。

ここでのレポートとは格調高いフォーマルな報告書から日々の業務報告まで,データやログを処理して図・表・数値として要約し,説明文書とともにアウトプットを作成する作業すべてを含みます。例えばデータアナリストならビジネスデータを使った経営戦略に関わるKPIレポート,システム管理者なら日々のアクセスログの統計・集約レポート,研究者なら実験データに対する統計解析結果を示すレポートや論文,などなど。

R Markdownについての技術的な解説は,Rによるデータ解析を現在行っている,これから始めたい,という人にとってすぐに役に立つでしょう。また,本連載で紹介する効率的なレポート作成のワークフロー,再現可能性と言う考え方など,レポート作成リテラシーは,Rを使う,使わないにかかわらずレポートを作成する全ての人に役立つでしょう。本連載によって,多くの読者が効率的なレポート作成スキルを身につけ,退屈で非生産的なレポート作成作業から開放されれば著者冥利に尽きます。

連載の内容

本連載では統計解析向けのプログラミング言語Rとアドオンパッケージである{rmarkdown}パッケージ(本連載ではRパッケージ名を{package-name}と表記しています)を使って,R Markdownと言うファイルを編集してレポートを作る方法を解説して行きます。R Markdownとは文書・説明・注釈などのドキュメントと,データの分析を行うRのコードが混在したテキストファイルです。このファイルを{rmarkdown}により自動処理することで様々な形式のレポートを作成することができます。

本連載ではR言語そのものや統計解析手法に関する解説は行いません。これらのトピックに関しては,Web上にも書籍としても素晴らしい解説が多数ありますので参考にしてください。

本連載では次のようなトピックについて解説していく予定です。

  • レポート作成のオートメーション化,そのメリット
  • R Markdownによるレポート作成例(チュートリアル)
  • R Markdownのマークダウン記法・Rコード処理の制御
  • 図表の出力の制御
  • HTML文書の作成
  • PDF文書の作成・ワード(DOCX)形式文書の作成
  • プレゼンテーション(スライド)の作成
  • RStudioの活用

なお本連載の内容は拙著「ドキュメント・プレゼンテーション生成」⁠シリーズ Useful R 9,共立出版)と一部重複します。興味がある方は一読頂ければ幸いです。また本連載の元ネタであるrmarkdownパッケージの解説サイトも参考にしてください。

良いレポート作成とオートメーション化のメリット

内容云々は別として,レポート作成のワークフローという観点から,良いレポートとは次のようなものだと考えられます。

  • 無駄な手作業が入っていない
  • コピペ汚染されていない
  • 間違いが起こりにくい
  • 全く同じレポートを他人が作成できる
  • データやログの変更に容易に対応できる

これらをまとめれば,レポート作成に関わる全てのプロセスを再現できる(その結果としてレポートも再現できる)=ワークフローがオートメーション化されている,と言うことです。レポート作成のオートメーション化の主なメリットは時間短縮,人為的ミスの軽減,再現可能性の確保であり,上に挙げた「良いレポート作成」の全てを満たします。以下では,具体的なレポート作成パターンを紹介しながら,これらのメリットについて解説します。

とても残念なレポート作成パターン

まずは最悪な,しかしありがちなケースから紹介しましょう。

図1 最悪な,しかしありがちなケース

図1 最悪な,しかしありがちなケース

このパターンでは以下の手順でレポートを作成します。

  1. データやログをかき集める
  2. (Rで)アドホックな処理・分析して,図・表・数値を出力する
  3. (WordやPowerPointなどで)説明や注釈などを作成し,2.の出力をコピペ
  4. 1.に戻る。このループを繰り返して,レポートが完成。

ダメな部分は図中の赤で示してありますが,このパターンにはいくつもの問題があります。まず,これはレポート作成に限らないことですが,データやログの管理体制を整えましょう。データを探して,そのフォルダに移動して解析作業して,結果を文書にコピペ,というパターンはすぐに破綻します。

次に,このパターンで最もダメな点が「アドホック解析」です。アドホックとは「その場限り」という意味で,具体的にはRのコンソールでコマンドを入力するなどして,逐次的に処理を進めることを意味します。ポイントは何をどう処理したのか記録が残らないということです。確かにその場で図や表を作ることはできますが,同じものを二度作ることは不可能です。

さらに,アドホック解析で出力された図・表・数値をレポートに埋め込むためにコピペしています。レポート作成におけるコピペは害悪でしかありません。レポート作成中に一度でもコピペを行った場合,そのプロセスはコピペ汚染されています。コピペ汚染されたレポートをクリーンにする術は存在しません。

大事なことですが,レポートは芸術作品ではありません。重要なのは成果物の保存ではなく,プロセスの保存です。どんなに素晴らしい内容であっても,再現性のないレポートは紙くず同然です。レポートを作成する時は,このことを常に強く意識してください。

著者プロフィール

高橋康介(たかはしこうすけ)

東京大学先端科学技術研究センター特任助教。専門は認知科学,認知心理学,認知神経科学。どうやったら人が幸せな気持ちになれるのか研究中。著書に「R言語上級ハンドブック」(分担執筆・C&R研究所),「ドキュメント・プレゼンテーション生成」(共立出版)。趣味はラテ・アート。

コメント

コメントの記入