@kohske
2014/3/1
Rマークダウンでドキュメントとコード書いて→ knit() → pandoc → (html | pdf | docx) します。
も参考にしてくださいね〜
マークダウンファイルにはメタ情報を含めることができます。
ファイル先頭を
% タイトル
% 著者
% 日付
で始めることができます。
ファイルの先頭にYAMLでメタ情報を入れることができます。次の例を参考にして下さい。
---
title: RマークダウンとPandocで楽々レポート作成
author: "@ohske"
tags: [R, pandoc, Dynamic Documentation]
abstract: Rマークダウンでドキュメントとコード書いて→ knit() → pandoc → (html | pdf | docx)します。
---
まずは、
library(knitr)
knit("pandoc-md.Rmd")
としてRマークダウンファイル(.Rmd)からマークダウンファイルを作成します。 続いて、マークダウンファイルをPandocによって様々な形式に変換します。
HTMLファイルの作成
$ pandoc -s --toc -c github.css --mathjax pandoc-md.md -o pandoc-md.html
LaTeXファイルの作成
$ pandoc -s --toc --number-sections --listings -V documentclass=ltjarticle -H preamble.tex pandoc-md.md -o pandoc-md.tex
PDFファイルの作成
$ pandoc --toc --number-sections --listings -V documentclass=ltjarticle -H preamble.tex --latex-engine=lualatex -H preamble.tex pandoc-md.md -o pandoc-md.pdf
DOCXファイルの作成
$ pandoc pandoc-md.md -o pandoc-md.docx
HTML5スライド(slidy)の作成
$ pandoc -s --mathjax -i -t slidy pandoc-md.md -o pandoc-slidy.html
PDFスライド(Bearer)の作成
$ pandoc -t beamer --listings -H preamble-beamer.tex --latex-engine=lualatex pandoc-md.md -o pandoc-beamer.pdf
knitrパッケージにはpandoc()
という関数があるんですが、オプション渡すのが面倒なのでsystem()
でpandocを実行します。
knit("pandoc-md.Rmd")
system("pandoc -s --toc -c github.css --mathjax pandoc-md.md -o pandoc-md.html")
system("pandoc -s --toc --number-sections --listings -V documentclass=ltjarticle -H preamble.tex pandoc-md.md -o pandoc-md.tex")
system("pandoc --toc --number-sections --listings -V documentclass=ltjarticle --latex-engine=lualatex -H preamble.tex pandoc-md.md -o pandoc-md.pdf")
system("pandoc pandoc-md.md -o pandoc-md.docx")
system("pandoc -s --mathjax -i -t slidy pandoc-md.md -o pandoc-slidy.html")
system("pandoc -t beamer --listings -H preamble-beamer.tex --latex-engine=lualatex pandoc-md.md -o pandoc-beamer.pdf")
あやめとは、さかな植物の名前です。おそらく、世界中でも最も多く解析にさらされた植物でしょう。
学名はIris sanguineaといいます。イリスではなくて、アイリスです。 大きい声では言えませんが今でも「イリス」と呼んでます。
pander::pandoc(head(iris), caption="あやめのデータ (1-6行)", split.tables = 100)
Sepal.Length | Sepal.Width | Petal.Length | Petal.Width | Species |
---|---|---|---|---|
5.1 | 3.5 | 1.4 | 0.2 | setosa |
4.9 | 3 | 1.4 | 0.2 | setosa |
4.7 | 3.2 | 1.3 | 0.2 | setosa |
4.6 | 3.1 | 1.5 | 0.2 | setosa |
5 | 3.6 | 1.4 | 0.2 | setosa |
5.4 | 3.9 | 1.7 | 0.4 | setosa |
cor(iris[, -5])
## Sepal.Length Sepal.Width Petal.Length Petal.Width
## Sepal.Length 1.0000 -0.1176 0.8718 0.8179
## Sepal.Width -0.1176 1.0000 -0.4284 -0.3661
## Petal.Length 0.8718 -0.4284 1.0000 0.9629
## Petal.Width 0.8179 -0.3661 0.9629 1.0000
等幅フォントにできるかな
ヒストグラムを作って、正規分布(\(\frac{1}{\sqrt{2\pi\sigma^2}} \exp\left(-\frac{\left(x-\mu\right)^2}{2\sigma^2}\right)\))と比べてみます。
par(mar=c(2.5, 2.5, 1.5, 1))
hist(scale(iris[, 1]), probability = TRUE, ylim=c(0, 0.5))
curve(dnorm(x), add=TRUE)
Enjoy!!