R言語の分析レポートを4枚のPowerPointに出力する

この記事は 『CRESCO Advent Calendar 2017』22日目の記事です。

こんにちは。データアナリティクスチームの飯村北海です。

最近は[PR]データ分析と言いながらも、どちらかというとBI寄りのTableauを使用したダッシュボード開発のプロジェクトに参画し、要件定義フェーズでレポートの設計をしているので、分析自体ををすることが少なくなってしまいました。RStudioを起動することも少なくなりましたが、今回はRの話でブログを書きたいと思います。

以前、社内のプロジェクトでデータ分析をした際に報告形式はRMarkdown + knitrによるHTML出力を採用したのですが、社内イントラのWebで公開するようなものでもなかったので本当はPowerPointでの報告をしたいなと思っていました。

しかし、データ分析における報告にはグラフが出てきます。何十枚と次元を変えて出力されたグラフをPower PointのスライドやWordに貼り付けていくのはかなり苦行です。Webシステム開発の画面テストも自動化が可能な時代です。「神エクセルに貼り付ける」なんてもってのほかです。「手作業でやるのはできる限り避けたい!」ということもあり以前はHTMLで自動生成をせざるをえませんでした。

ということでRでPowerPointが出力できたらとても嬉しいので頑張る、というところが今回のブログの内容です。

対象読者

Rを使っているけど報告はMS PowerPointで出力したいというスーツとギークの間にいる方。dplyrやtidyrなどのパッケージでデータラングリングしている話は今回は割愛します。

Rのインストールから、という方はこちらからRとRStudioをどうぞ。
r-project
https://www.r-project.org/
RStudio
https://www.rstudio.com/

やり方

これまでにOffice製品に出力する方法は下記のようなパッケージ(リンク先は英語)が選択肢としてあるのですが、今回はOfficerを使用して作成していきたいと思います。

ReportRs(CRAN)
作者のページ

Officer(CRAN)
作者のページ

WordR(CRAN)
作者のページ

データを数行表示させ、作成したグラフを貼り付けるサンプルです。

サンプルデータ

今回は娘が産まれましたので過去1ヶ月くらいの授乳時間の推移を見てみたいと思います。

こういうデータです。

こちらのデータは左右の授乳時間をそれぞれ記録していて、1日単位でまとめて表示させます。

出力結果

出力されたスライド(PDFに変えてあります)はこちらです。
AdventCalendar20171222_baby_nursing

まとめ

いかがでしょうか。何もデザインを指定しないで作成しているので簡素な印象を受けるかと思います。

こちらのOfficerのパッケージはテンプレートを作成して呼び出して使うこともできるので試してみましたが、PowerPoint上で作成したファイルをテンプレートとして読み込ませるとちょっとうまくいきませんでした。
こちらのパッケージでテンプレートが作成できるくらいにならないとうまくいかないのかもしれません。その件についてはまた別の機会があればご紹介したいと思います。

コード

Rのスクリプトはこちらです。

Enjoy!