はじめに
これまでの連載ではR MarkdownによってHTMLレポートを作成する方法を解説してきました。個人的にな経験から言えば、
- HTMLレポートを使う
- 細かい見た目、
フォーマットやスタイルを気にしすぎない
という2点を守ることが、
ところが世の中とは理不尽なもので、
R Markdownでは、
とは言っても、
ただし細かい
こまけぇこたぁいいんだよ!!
ヾ(´∀`ヾ)
広告のコンペではないのですから、
R Markdownで作成できるレポート形式
R Markdownで現在公式にサポートされている出力形式は次のとおりです。
- HTML
- これまで紹介してきたHTML形式のレポートです。
- PDFファイルを出力します。
- Word
- WordのDOCX形式のファイルを出力します。
- Markdown
- Markdown形式のファイルを出力します。
- ioslides
- Google I/
O 2012 という形式のWebスライド(ブラウザで表示できるスライド) を出力します。 - Slidy
- Slidyという形式のウェブスライドを出力します。
- Beamer
- BeamerというLaTeXスタイルによるPDF形式のスライドを出力します。
.Rmdファイルの内容にはほとんど変更を加えずに、
Word形式のレポート作成
(´°∀°`)
.oO(ワードでくれ)
今までどれだけの技術者がこの言葉に打ちのめされたてきたことでしょう。21世紀に入って十余年たってなお、
R MarkdownではYAMLフロントマターのoutput
にword_
を指定するだけで、
---
title: "R MarkdownでDOCX"
author: "@kohske"
output: word_document
---
マークダウン記法は対応するワードスタイルになります。
# リスト
- あいうえお
- かきくけこ
## 番号付きリスト
1. さしすせそ
1. たちつてと
---
表を出力してみましょう。
```{r}
knitr::kable(head(iris))
```
図を出力してみましょう。
```{r}
plot(iris)
```
いかがでしょう。見た目を気にしなければ、
Word形式出力のオプション
YAMLフロントマターではWord出力のオプションを少しばかり設定できます。有効なオプションはR上で?rmarkdown::word_
としてヘルプファイルで確認できます。例えば、
---
title: "R MarkdownでDOCX"
author: "@kohske"
output:
word_document:
fig_width: 5
fig_height: 5
fig_caption: true
---
一応、reference_
)
文字コードの問題
Why are you using SJIS?
-- Hadley Wickham (2014)
テキスト系の話になると、rmarkdown::render
のオプションで`encoding='utf8'を指定しましょう。
library(rmarkdown)
render("hoge.Rmd", encoding = "utf8")
なおWhy are you using SJIS問題は本当に複雑で、
PDF形式のレポート作成
不思議なことにPDFファイルとして提出するだけで、
R MarkdownではもちろんPDF形式のレポートも作成できます。ただし、
LaTeX環境の導入
R MarkdownでPDF形式のレポートを作成するにはLaTeX環境の導入が必要です。ここでは最低限、
LaTeXに関する詳細を知りたい場合には、
Mac OS X
MacTeXをインストールします。MacTeX DownloadからMacTeX.
参考までに、
Windows
TexLiveをインストールします。Installing TeX Live over the Internetからinstall-tl-windows.
参考までに、
PDFレポートの作成方法
Word形式同様、output
にpdf_
を指定するだけで、
日本語入りのPDF作成のためのYAMLフロントマターは次のような形式です。
---
title: "R MarkdownでPDF"
author: "@kohske"
documentclass: ltjarticle
output:
pdf_document:
latex_engine: lualatex
---
重要なのは、documentclass: ltjarticle
としてドキュメントクラスを明示すること、latex_
としてLaTeXエンジンを指定することです。次のような.Rmdファイルを作成して、
---
title: "R MarkdownでPDF"
author: "@kohske"
documentclass: ltjarticle
output:
pdf_document:
latex_engine: lualatex
---
マークダウン記法は対応するLaTeXスタイルになります。
# リスト
- あいうえお
- かきくけこ
## 番号付きリスト
1. さしすせそ
1. たちつてと
---
表を出力してみましょう。
```{r}
knitr::kable(head(iris))
```
図を出力してみましょう。
```{r}
plot(iris)
```
---
\begin{center}
\fbox{\LaTeX コマンドを直接記述してみましょう。}
\end{center}
render()
でレポートを出力してみましょう。
library(rmarkdown)
render("pdf.Rmd")
# WindowsでUTF8の.Rmdの場合
# render("pdf.Rmd", encoding = "utf8")
とすれば、
上の例のように、
Windowsユーザ向けの情報
特にWindowsの場合、
- Windows 7
- Pandoc version 1.
12. 4.2 (少し古いもの) - rmarkdown version 0.
7 (最新) - 環境変数
TEMP
とTMP
をロングファイルネームで指定する( THIS_
とかではないフルパス表記)I~1. HTM
でPDFレポートの作成に成功しています。上記の設定を行ってもPDF出力に失敗する場合は、
PDF形式出力のオプション
Word形式と同じように、?rmarkdown::pdf_
としてヘルプファイルで確認できます。次の例では目次を有効にして、
---
title: "R MarkdownでPDF"
author: "@kohske"
documentclass: ltjarticle
output:
pdf_document:
latex_engine: lualatex
toc: true
number_sections: true
---
また、in_
はヘッダに、before_
は文書先頭に、after_
は文書末尾に差し込まれます
---
title: "hoge"
output:
pdf_document:
includes:
in_header: header.tex
before_body: doc_prefix.tex
after_body: doc_suffix.tex
---
外部TeXファイルを準備するまでもない場合は、header-includes
に直接プリアンブルを記述できます。
---
title: "hoge"
header-includes:
- \usepackage{bbm}
output:
pdf_document
---
PDFレポートの場合、
まとめ
今回はR MarkdownでWord形式とPDF形式のレポートを作成する方法を紹介しました。PDF形式の場合は、
HTMLいいっすよ〜 (´ー`)y─┛~~
と粘り強く反応しましょう。それでもどうしてもダメなら、
5月に始まったこの連載も、
また、
次回は
R Markdownではプレゼンに使うようなスライドも作成できます。次回はR MarkdownでWebスライドを作成する方法を紹介します。.Rmdから作成したスライドをWebブラウザ上でサクッとプレゼンすれば、