前回はレポートづくりのオートメーション化がもたらすメリットについてやや概念的な説明をしました。今回はR Markdown環境を導入し,
また,
なお,
R Markdown環境の導入
R Markdownを利用するには,
- R
{rmarkdown}
パッケージ- pandoc
の3つのツールを導入する必要があります。
- PDF形式のレポートの作成に必要なLaTeX環境の導入については,
PDFレポート作成の回に解説します。 - RStudioには
{rmarkdown}
パッケージとpandocが入っているので,個別のインストールが面倒な場合はRStudioを使ってください。意識の高い我々は基本的に生Rで作業を進めます (バッチ処理によるレポート作成などを想定しています)。RStudioの活用については別の回で説明します。
Rのインストール
CRANからRをインストールします。解説がWeb上に大量にあるので参考にしてください
{rmarkdown}
パッケージのインストール
Rを起動して,
install.packages("rmarkdown", dependencies = TRUE)
とします。CRANのミラーサイト選択画面が表示されたら,{rmarkdown}
パッケージを使うために必要な依存パッケージも自動的にインストールされます。
pandocのインストール
pandocは様々な形式のドキュメント変換を行うツールです。pandoc公式ダウンロードサイトからインストーラパッケージをダウンロードしてインストールします。ダウンロードリンクが少しわかりにくいですが,pandoc-1.
pandoc-1.
インストールの確認
すべてインストールしたら,
library(rmarkdown) pandoc_available()
としてみてTRUE
と出力されればOKです。
ダメな場合はおそらくpandocのパスの設定の問題ですが,
さて,
R Markdownによるレポートの書式と作成手順
R Markdownによるレポート作成は,
- ドキュメントとRのコードをR Markdownファイル中に記述する。
- R上で
rmarkdown::render()
関数によりR MarkdownファイルをHTML形式(またはDOCXやPDF形式) に変換する。
という手順で進めます。
R Markdownファイルは,.Rmd
という拡張子を持つテキストファイルです。この中に,
R Markdownファイルは,
# タイトルとか
`r Sys.Date()` @kohske
- レポートの説明とか
- 概要とか
- 云々
```{r}
# ここには解析コード
foo = rnorm(1000)
hist(foo)
```
さらに説明とか
- 今後の目標とか
- 人生の目標とか
```{r}
# ここにも解析コード
df = subset(mtcars, select = mpg:qsec)
knitr::kable(head(df))
```
このR Markdownファイルのファイル名をsample.
としましょう。これをHTMLレポートに変換するには,
library(rmarkdonw) # パッケージの読み込み setwd("dir-of-sample") # 作業フォルダを変更します render("sample.Rmd") # 変換!! browseURL("sample.html") # ブラウザで開きます
とします。Rを起動することすら面倒な
Rscript -e "rmarkdown::render('sample.Rmd');browseURL('sample.html')"
とすると良いでしょう。HTMLファイルをブラウザで開く必要がなければ,browseURL(...)
は不要です。
参考までに,sample.
を変換して出力されるHTMLファイルsample.
)
- 1つ目のコードの場所にヒストグラムが表示されている。
- 2つ目のコードの場所にテーブルが表示されている。
- 最初に日付が挿入されている。
ドキュメント部分がリストや見出しなどに整形されている。
といったことがわかります。
R Markdownファイルの書き方について,
```{r}
# 解析コード
foo = bar
lm(hoge)
```
という形式の,```
,```
の行をチャンクヘッダと呼びます。チャンクヘッダで```
に続けて{r}
とすることで,
ここまでの記事で,
次に,