96
knitr+pandocではじめる~ R MarkdownReproducible Research36勉強会@東京(#TokyoR) @teramonagi

~knitr+pandocではじめる~『R MarkdownでReproducible Research』

Embed Size (px)

DESCRIPTION

第36回R勉強会@東京(#TokyoR)の資料

Citation preview

Page 1: ~knitr+pandocではじめる~『R MarkdownでReproducible Research』

~knitr+pandocではじめる~ 『R MarkdownでReproducible Research』

第36回 勉強会@東京(#TokyoR)

@teramonagi

Page 2: ~knitr+pandocではじめる~『R MarkdownでReproducible Research』

もくじ

• 自己紹介&モチベーション

• 準備

• R MarkdownでReproducible Research

–基礎編

–応用編

• まとめ

• 参考(書籍|スライド|サイト) 2

Page 3: ~knitr+pandocではじめる~『R MarkdownでReproducible Research』

自己紹介

• ID:@teramonagi

•興味:/R/C++/F#/微分幾何/モンテカルロ法/物理学/金YOU/

•直近:ドキュメンテーション辛い

3

Page 4: ~knitr+pandocではじめる~『R MarkdownでReproducible Research』

このお話のモチベーション

•計算/分析結果をまとめたWord/TeXを書くのがめんどい

–TeXのタグがしんどい。Wordの“見出し”が俺の言うこと聞かない…

•そもそも結果に再現性がない

–あのcsvとあのDBのデータを持って来て云々…あれ?結果が違う?

4

Page 5: ~knitr+pandocではじめる~『R MarkdownでReproducible Research』

5

これから1,000枚の図

を手で報告書に貼りつけなきゃならんぜ!!! 終電コース!!!

Page 6: ~knitr+pandocではじめる~『R MarkdownでReproducible Research』

そういうの、もうしんどい

6

この状況、

どうにかならないの?

Page 7: ~knitr+pandocではじめる~『R MarkdownでReproducible Research』

でも、大丈夫

そう、 Markdownならね

7

Page 8: ~knitr+pandocではじめる~『R MarkdownでReproducible Research』

Markdownを使えば…

• Rのコードと、資料本文を管理・作成

(文芸的プログラミングの実践)

• コードと本文から成るドキュメントを再実行(コンパイル)すれば結果の再現性が担保される

(Reproducible Research)

8 ※“文芸的プログラミング”と“Reproducible Research”の正確な定義がよくわからん…

Page 9: ~knitr+pandocではじめる~『R MarkdownでReproducible Research』

準備

9

Page 10: ~knitr+pandocではじめる~『R MarkdownでReproducible Research』

本スライドの話に必要な道具

• Rstudio(knitrパッケージ)

• pandoc

• TeX環境一式

• (Windows)

• (Microsoft Office環境)

10

Page 11: ~knitr+pandocではじめる~『R MarkdownでReproducible Research』

RStudio

• Rの統合開発環境(IDE)

11 http://www.rstudio.com/ide/download/desktop

Page 12: ~knitr+pandocではじめる~『R MarkdownでReproducible Research』

knitrパッケージ

• Rのコンソールで、以下のコマンドを実行

12

> install.packages("knitr")

Page 13: ~knitr+pandocではじめる~『R MarkdownでReproducible Research』

Pandoc

• ドキュメント・コンバータ

13 http://johnmacfarlane.net/pandoc/

※PDF/MS Wordを作るのに使用。LINK先にあるDLページからmsiファイルでインストール

Page 14: ~knitr+pandocではじめる~『R MarkdownでReproducible Research』

TeX

• TeXインストーラ(PDF作成用)

14 http://www.math.sci.hokudai.ac.jp/~abenori/soft/abtexinst.html

※TeXをPDFにする際に使用。LINK下部の【ダウンロード】から最新版をインストール

Page 15: ~knitr+pandocではじめる~『R MarkdownでReproducible Research』

R MarkdownでReproducible Research

基礎編

15

Page 16: ~knitr+pandocではじめる~『R MarkdownでReproducible Research』

R Markdownを書くために • Rstudio上でknitrパッケージを使用

• knitr≒文芸的プログラミングエンジン

• R(コード)と「LaTeX, HTML, Markdown, reStructuredText」等の本文を組み合わせ、動的にレポートを生成可能

• ”チャンク(chunk)”というコード(塊?片?)とレポート”本文”をあわせて書く

16 ※実はR以外にもC++・python・awkなんかもいける

Page 17: ~knitr+pandocではじめる~『R MarkdownでReproducible Research』

大まかな流れ

17

.Rmd (R Markdown)

knitr パッケージ

.Rhtml (R HTML)

.Rnw (TeX+R)

※reStructuredTextなんかもイケる ※正確に言うと、knitrパッケージは【R Markdown(.Rmd)】→【Markdown(.md)】を担当

.html

.docx

.pdf

.md

.tex

(何らかの処理挟むこと屡)

R+本文(HTML, MarkDown等)

Page 18: ~knitr+pandocではじめる~『R MarkdownでReproducible Research』

.Rnwファイルの処理法

18

2つの処理法がある

※Rstudioの設定画面(【Tools】→【Options】)

Page 19: ~knitr+pandocではじめる~『R MarkdownでReproducible Research』

knitr/Sweaveの違い

19

knitr Rのパッケージ

処理対象

Sweave

.Rnw .Rmd .Rhtml ※knitrとSweaveでは.Rnwを処理する際に使えるchunkのオプションがちょいと違う

Page 20: ~knitr+pandocではじめる~『R MarkdownでReproducible Research』

.Rnw/.Rmdの違い

• TeXベース(.Rnw)かMarkdownベース(.Rmd)かが違う

•できる事は.Rnwの方が多い(はず)

20

.Rnw .Rmd

※.RnwのnwはNowebの意味でそういうLiterate Programmingツールに由来するらしい

Page 21: ~knitr+pandocではじめる~『R MarkdownでReproducible Research』

21

本題へ

Page 22: ~knitr+pandocではじめる~『R MarkdownでReproducible Research』

まずは新規ファイルの作成

22

クリック

※Rstudioを立ち上げて【File】

Page 23: ~knitr+pandocではじめる~『R MarkdownでReproducible Research』

デフォルトでなんか入ってる

1:ファイルを保存(UTF-8推奨)

23

2:を押す

※ファイルに変更がないと保存できないかも

Page 24: ~knitr+pandocではじめる~『R MarkdownでReproducible Research』

結果(HTML)がプレビューされる

24

Page 25: ~knitr+pandocではじめる~『R MarkdownでReproducible Research』

25

以下、この.Rmdファ

イルに、コードと文章を書いきます

Page 26: ~knitr+pandocではじめる~『R MarkdownでReproducible Research』

この後(少なくとも俺は)こうしてる

•基本的に

1. (適当に)文章書いて

2. 間にRのコードを挟む

な感じで書いていく

•時々、[Knit HTML]押してチェック

26

.Rmd (R Markdown)

knitr .html

※もっといいやり方あったら教えてください

←行ったり来たり→

Page 27: ~knitr+pandocではじめる~『R MarkdownでReproducible Research』

まずは基本的な書き方 • 本文の間にチャンクと呼ばれる

```{r label, option1, …., optionN} ----ここにRのコード-----

```

を書き、Rのコードを埋め込んでいく

(label・optionはIDと処理のオプション)

• .Rhtmlでも.Rnwでも基本こんな感じ (Chunkの開始・終了タグがちょいと違うだけ)

27

Page 28: ~knitr+pandocではじめる~『R MarkdownでReproducible Research』

まずは基本的な書き方

•以下の内容を.Rmdファイルに追記

28

やぁ、みんなこんにちは!

ぼくのRのversionは

```{r my_r_version, warning=TRUE}

R.version.string

``` ダヨ!!!

Chunkのlabel. ID的なもん

Chunkのオプション的なもん

Ch

un

k

Rのコード

Page 29: ~knitr+pandocではじめる~『R MarkdownでReproducible Research』

まずは基本的な書き方

• [Knit HTML]ボタン押すと以下のような、出力が得られる

29 ※宗教上の理由で古いRを使っております

Page 30: ~knitr+pandocではじめる~『R MarkdownでReproducible Research』

アドバイス

• Chunkのlabelは同/別のファイルか

ら参照する際に使用されるんで、なくてもOKだが、必要ならちゃんとつけとけ。chunkの共有・参照に便利

• Chunkのオプションはたくさんあるか

ら、使いそうなもんだけ覚えておけ(後述)

30

Page 31: ~knitr+pandocではじめる~『R MarkdownでReproducible Research』

インラインChunk

•以下の内容を.Rmdファイルに追記

31

carsデータに関する回帰分析だーっ!

```{r lm_result}

x <- lm(dist~speed, data=cars)

``` この結果、回帰係数の切片は

`r coef(x)["speed"]`となった。

`r XXX`でインライン展開されるchunkになる

Page 32: ~knitr+pandocではじめる~『R MarkdownでReproducible Research』

インラインChunk

•文章中に結果が埋め込まれる

•結果を適当な変数に入れておけば、文章だけ先に用意することも可能

32

Page 33: ~knitr+pandocではじめる~『R MarkdownでReproducible Research』

数式の追加

•以下の内容を.Rmdファイルに追記

33

数式も表示できるヨ!!

$でインラインな数式$f(x) = ax^2 + bx + c$、

$$で1行まるごと数式

$$f(x) = ax^2 + bx + c$$

TeX記法を用いる

Page 34: ~knitr+pandocではじめる~『R MarkdownでReproducible Research』

数式の追加

•実行結果(HTML)

• mathjaxを用いて描画されている

34

Page 35: ~knitr+pandocではじめる~『R MarkdownでReproducible Research』

表の追加 • resultsオプションに、”そのまま出力”を意味する’asis’を指定

• knitr内のkable関数を使用(xtableも可) • format=“markdown”でpandoc用

markdownテーブルへ出力可

35

```{r table1, results='asis'}

x <- lm(dist ~ speed, data=cars)

kable(summary(x)$coef, format="html",digits=2)

```

※その他、panderパッケージなるものを使う手もある

Page 36: ~knitr+pandocではじめる~『R MarkdownでReproducible Research』

表の追加

•表の”見てくれ”を変えたい場合は、HTML表示の際に使われるcssファイルを変える必要あり(※)

36 ※参照:http://www.slideshare.net/wdkz/rstudio-13866958

Page 37: ~knitr+pandocではじめる~『R MarkdownでReproducible Research』

図の追加 • 単純にPLOT関数を書けばOK

• fig.(width|height)には出力(Not 張付)画像サイズをインチ単位で指定

• fig.capオプションに文字列を指定すると図のキャプションも入る(Word等時)

37

```{r plot_cars, fig.width=5, fig.height=4}

plot(cars)

```

Page 38: ~knitr+pandocではじめる~『R MarkdownでReproducible Research』

図の追加

38

Page 39: ~knitr+pandocではじめる~『R MarkdownでReproducible Research』

図の追加

• ggplot2なんかもOK

39

```{r plot_iris, fig.width=5, fig.height=4}

library(ggplot2)

qplot(Sepal.Length, Sepal.Width, data

=iris, colour=Species)

```

Page 40: ~knitr+pandocではじめる~『R MarkdownでReproducible Research』

図の追加

40

Page 41: ~knitr+pandocではじめる~『R MarkdownでReproducible Research』

グローバルにオプション指定

• 毎回chunkにオプション書くのめんどい

• opts_chunkで全体に対して一括でオプションを指定できる

41

```{r global_option, eval=FALSE} #opts_chunk$setで指定したものは、

#全体に設定されるので以降指定しなくてOK

opts_chunk$set(fig.width=6, fig.height=6)

```

Page 43: ~knitr+pandocではじめる~『R MarkdownでReproducible Research』

基礎編のまとめ

• とりあえずHTMLで

–Rの基本的な実行結果

–図・表・数式

が出力できるようになった!

• レポートをHTMLで作成していいならこれで大体OK

•オプションは必要に応じてググれ

43

Page 44: ~knitr+pandocではじめる~『R MarkdownでReproducible Research』

本文を書く際に使える

Markdownのクイックリファレンス

44

Markdownの

クイックリファレンスが開くクリック

※見出し、フォント等の設定法が書いてある。最新版のRStudioだとちょい見てくれ違う

Page 45: ~knitr+pandocではじめる~『R MarkdownでReproducible Research』

R MarkdownでReproducible Research

応用編

45

Page 46: ~knitr+pandocではじめる~『R MarkdownでReproducible Research』

応用編

•もうちょっと”凝った”ものを作るためのテクニック的なもの

•俺が悩んで酷い目にあったものへの対処法

…を紹介

46

Page 47: ~knitr+pandocではじめる~『R MarkdownでReproducible Research』

Chunkオプションの条件化

• ChunkオプションにはRの変数や関数の結果を代入することが可能

•例:xが3より大きい場合のみchunkを評価

47

```{r conditionalchunk_eval, eval=(x>3)} print("x は3より大きい")

```

※ 図の番号をつけるのとかにも使える ※参照:https://github.com/yihui/knitr-examples/blob/master/070-caption-num.Rmd

Page 48: ~knitr+pandocではじめる~『R MarkdownでReproducible Research』

スクリプトの共有 • read_chunk関数により、Rで書いた他のファイルを取りこむことが可能

• 以下の内容のファイルが”share/shared.R”として保存してあると仮定

48

## @knitr plus10r plus10 <- function(x){

x+10

}

plus10(3)

## @knitr subset_iris

subset(iris, Sepal.Length>7.6)

Page 49: ~knitr+pandocではじめる~『R MarkdownでReproducible Research』

スクリプトの共有

49

```{r read_shared_r}

read_chunk("share/shared_r.R")

```

```{r plus10r}

```

.Rmdの例 その出力結果

shared_r.R内の関数が ## @knitr plus10r という書式で指定されたラベルで実行できる!

Page 50: ~knitr+pandocではじめる~『R MarkdownでReproducible Research』

.Rmdファイルの分割

•以下のような内容の.Rmdを作成

(share/shared_rmd.Rmdとした)

•別の.Rmdでchildオプションで指定

50

```{r child_rmd} print("これは別ファイルに記述されたR Markdownです")

```

```{r child1, child="share/shared_rmd.Rmd"}

```

Page 51: ~knitr+pandocではじめる~『R MarkdownでReproducible Research』

.Rmdファイルの分割

• .Rmdが展開(本文)され、chunkも実行される

•複数人で書く、あるいは章ごとに分けるなどの際に便利

51

Page 52: ~knitr+pandocではじめる~『R MarkdownでReproducible Research』

他の言語、突っ込む

• engineオプションを指定することで、他の言語(python, ruby, sed, awk, haskell, SAS, perl)をchunkとして突っ込める

•更に、Rcppを指定するとRcppのコードを書く事も可能

52

Page 53: ~knitr+pandocではじめる~『R MarkdownでReproducible Research』

```{r engine_rcpp, engine='Rcpp'}

#include<Rcpp.h>

// [[Rcpp::export]]

int fibCpp(const int x){

if(x==0 || x==1){return(x);}

return(fibCpp(x-1) + fibCpp(x-2));

}

```

他の言語、突っ込む(Rcpp)

• フィボナッチ数列計算関数作成

53

Page 54: ~knitr+pandocではじめる~『R MarkdownでReproducible Research』

```{r r use_rcpp} #Rcppで作成した関数を使用

fibCpp(10)

```

他の言語、突っ込む(Rcpp)

•作成した関数を.Rmd内部で使用

54

Page 55: ~knitr+pandocではじめる~『R MarkdownでReproducible Research』

他の言語、突っ込む(python)

• フィボナッチ数列計算関数作成&実行

55

```{r engine='python'}

def fibPy(n):

if n == 0 or n == 1 :

return n

else:

return fibPy(n-1) + fibPy(n-2)

print fibPy(10)

```

Page 56: ~knitr+pandocではじめる~『R MarkdownでReproducible Research』

他の言語、突っ込む(python)

• HTMLとして出力すると、ちゃんとソース+実行された結果が返ってくる

56

Page 57: ~knitr+pandocではじめる~『R MarkdownでReproducible Research』

Chunkのエイリアス

• Chunkオプションには、略記のための”別名”を付けることも可能

57

```{r}

set_alias(w = "fig.width", h = "fig.height")

```

```{r w=7, h=6}

plot(cars)

```

※正確にはchunkオプション以外にPackageオプションがあり、aliasはその1つ

Page 58: ~knitr+pandocではじめる~『R MarkdownでReproducible Research』

コードをAppendixに載せる

58

Aという手法を用いると、以下のような結果が算出される。

```{r AppA, echo=FALSE}

1 + 1

``` 一方、手法Bを用いると、以下のような結果となった。

```{r AppB, echo=FALSE}

2 + 3

```

~Appendix~

手法Aのコード

```{r AppA, eval=FALSE}

``` 手法Bのコード

```{r ref.label=c('AppB'), eval=FALSE}

```

※ちなみにall_labels関数を用いると全chunkのlabelが引ける

Page 59: ~knitr+pandocではじめる~『R MarkdownでReproducible Research』

コードをAppendixに載せる

59

Page 60: ~knitr+pandocではじめる~『R MarkdownでReproducible Research』

テンプレートからの作成 • Rのソースコードを雛型として、一気に定型レポート作成する関数もあり

–spin: .R ---> .md

–stitch: .R ---> .md/.html/.pdf(*1)

• spinは変換のみ

• stitchは簡単なレポートのテンプレートまで作ってくれる(*2)

60

※1: 日本語環境だとpdf生成は、相当頑張って設定しないとキツいとおもう… ※2: デフォルトのテンプレートだとsessioninfo, ファイルの生成時間を自動で付けてくれたりする。テンプレートは指定可能。

Page 61: ~knitr+pandocではじめる~『R MarkdownでReproducible Research』

テンプレートからの作成

• spin関数、RStudioから即使えます

61

こいつをポチる

Page 62: ~knitr+pandocではじめる~『R MarkdownでReproducible Research』

テンプレートからの作成

• spin関数による変換結果

62

Page 63: ~knitr+pandocではじめる~『R MarkdownでReproducible Research』

さて、

63

Page 64: ~knitr+pandocではじめる~『R MarkdownでReproducible Research』

日本を支える

ビジネスマンの皆さん

64

Page 65: ~knitr+pandocではじめる~『R MarkdownでReproducible Research』

鬼門です

65

Page 66: ~knitr+pandocではじめる~『R MarkdownでReproducible Research』

鬼門

66

すぐに Word

で報告書を作成して

Page 67: ~knitr+pandocではじめる~『R MarkdownでReproducible Research』

手で図・表の結果をWord貼り付ける… 枚数によっては

67 ※VBA使ってもしんどい

Page 68: ~knitr+pandocではじめる~『R MarkdownでReproducible Research』

Word/PDFで出力したい

• Pandocを使って、knitrの出力(Markdown)をWord/PDFへ変換する方向で

• knitrから直接変換できるものの、日本語が入ると正直キツい

• これは試行錯誤の末の一案なので、だれかもっといいやり方あったら教えて…

68

Page 69: ~knitr+pandocではじめる~『R MarkdownでReproducible Research』

ドキュメント変換のルート

69

.html

.docx

.pdf

.md

.tex

.Rmd knitr

markdown

pandoc

pandoc TeX (LuaLaTeX)

基礎編のルート

Page 70: ~knitr+pandocではじめる~『R MarkdownでReproducible Research』

ドキュメント変換に向けて

• HTML以外にするためには、ある程度knitrが中でどんな動きをしているのかを知っておくのが得策

• というわけで、[Knit HTML]ボタンを押した場合の挙動をちょいと紹介

70

Page 71: ~knitr+pandocではじめる~『R MarkdownでReproducible Research』

[Knit HTML]ポチった時の動作

71

.Rmd (R Markdown)

knit関数 (knitrパッケージ)

.md (Markdown)

.html (HTML)

markdownToHTML関数 (markwodnパッケージ)

※実際はRstudio内部にあるMarkdownからHTMLにする内部関数が使われてるらしい

Page 72: ~knitr+pandocではじめる~『R MarkdownでReproducible Research』

[Knit HTML]ポチった時の動作

•模倣するには、以下のように書く

72

library(knitr)

library(markdown) output <- knit(“TokyoR36_Basic.rmd”,encoding=“UTF-8”) #「invalid multibyte string at」 #というエラーが出るので解消するためにロケール変えてる。 #Windows 7だけかも? #ロケール変えなくていいなら #knitr::knit2html関数もほぼ同じ挙動 Sys.setlocale(locale=“C”) markdownToHTML(output, output=“ TokyoR36_Basic.html")

Page 73: ~knitr+pandocではじめる~『R MarkdownでReproducible Research』

ドキュメント変換の指針

•なんで、knit関数を使って、Markdown(.md)を作成した後、これをmarkdownパッケージ経由でHTMLにはせずに、Word/PDFに“変換”する方法を取る

•その”変換”にはpandocを使用

73

Page 74: ~knitr+pandocではじめる~『R MarkdownでReproducible Research』

ドキュメント変換の際の注意 • HTMLでチェックしつつ、Markdownに持って行こうと思う場合、表の形式をHTML⇔Markdownで切り替える必要がある

• とりあえず、以下のようなコードを、.Rmdの頭に書くようにしておいた

74

```{r table_format}

table.format <- ifelse(exists(“table.format”), table.format, “html”)

```

※参考程度に後述するhookってのを使うのもあり

Page 75: ~knitr+pandocではじめる~『R MarkdownでReproducible Research』

Wordへの変換

• こんな感じでいけます

• pandocはRのpandoc関数で召喚

• tableがmarkdownになるように設定

75

```{r convert_to_docx, eval=FALSE}

library(knitr)

env <- new.env() assign(“table.format”, “markdown”, env)

output <- knit(“TokyoR36_Basic.Rmd”, envir=env, encoding=“UTF-8”) pandoc(output, format=‘docx’)

```

※pandocのオプションとして--reference-docxをつけると.docxの書式等を指定したテンプレートが使える ※ @sky_y氏作の日本語訳有!多謝!(http://sky-y.github.io/site-pandoc-jp/users-guide/)

Page 76: ~knitr+pandocではじめる~『R MarkdownでReproducible Research』

Wordへの変換結果

76

Page 77: ~knitr+pandocではじめる~『R MarkdownでReproducible Research』

からの、罠 •僕のWord数式が文字化ける

77 ※Word 2007だけかも?手元に環境がないのでよくわからない

Page 78: ~knitr+pandocではじめる~『R MarkdownでReproducible Research』

数式の文字化け修正

• Wordファイルの拡張子を.docx→zipへと変更

• zipを解凍し、word/document.xmlを適当なテキストエディタで開く

78

Page 79: ~knitr+pandocではじめる~『R MarkdownでReproducible Research』

数式の文字化け修正

ファイル内の

<m:t> を

<w:rFonts w:hAnsi="Cambria Math" w:ascii="Cambria Math"/><m:t>

に置換&保存する

79

Page 80: ~knitr+pandocではじめる~『R MarkdownでReproducible Research』

数式の文字化け修正 • 解凍したファイル4つを選択し、また再圧縮

• 拡張子を.docxに戻す

80

Page 81: ~knitr+pandocではじめる~『R MarkdownでReproducible Research』

数式の文字化け修正

•拡張子をdocxに戻すとちゃんと数式が表示される!!!

•オイラやったよ!!!

81

Page 82: ~knitr+pandocではじめる~『R MarkdownでReproducible Research』

82

やったね!

図・表の1,000枚程度、

ドンと来い

Page 83: ~knitr+pandocではじめる~『R MarkdownでReproducible Research』

PDFで出力したい • [.md]→[.tex]→[.pdf]とTeX経由でPDFへ • 以下のような”おまじない”でPDFになります • コマンドプロンプトで「pandoc –D latex」と打って出る結果が、デフォルトのTeXのテンプレートになるので、スタイル変更したい場合は、適当に改変する必要有(*)

83

library(knitr)

env <- new.env() assign(“table.format”, “markdown”, env)

output <- knit(“TokyoR36_Basic.Rmd”, envir=env, encoding=“UTF-8”) system(sprintf(“pandoc -s %s -V documentclass=ltjltxdoc -o hoge.tex”, output))

system(“lualatex -interaction=nonstopmode hoge.tex”)

※おとなしくユーザガイド見るのが一番いい(http://johnmacfarlane.net/pandoc/README.html ※ @sky_y氏作の日本語訳有!多謝!(http://sky-y.github.io/site-pandoc-jp/users-guide/)

Page 84: ~knitr+pandocではじめる~『R MarkdownでReproducible Research』

PDFで出力したい

84

ごちゃごちゃ面倒だし、WordをPDFで名前付けて保存でいいや

※あくまで私見です

Page 85: ~knitr+pandocではじめる~『R MarkdownでReproducible Research』

この資料で全く解説してない内容

• hookというknitr内で行われるR Markdown処理の拡張方法がある

–chunkオプションを拡張する事ができる

–Chunkの処理(前後)に好きな処理を挟むことが出来る

• “knit_hooks”で調べると良い

85 ※正確にはchunk hooksとoutput hooksがある ※render_XXX(関数を調べるとよい

Page 86: ~knitr+pandocではじめる~『R MarkdownでReproducible Research』

後は頑張って作者のページ嫁

86 http://yihui.name/knitr/

Page 87: ~knitr+pandocではじめる~『R MarkdownでReproducible Research』

変換周りはPandocのマニュアル嫁

87

http://johnmacfarlane.net/pandoc/README.html

Page 89: ~knitr+pandocではじめる~『R MarkdownでReproducible Research』

Enjoy!!! 89

Page 90: ~knitr+pandocではじめる~『R MarkdownでReproducible Research』

参考書籍

90

Dynamic Documents with R and knitr

どちらかというとLaTeXというか.Rnwの話題が多い

Page 91: ~knitr+pandocではじめる~『R MarkdownでReproducible Research』

参考スライド

91

そろそろRStudioの話でもしてみようと思う

http://www.slideshare.net/wdkz/rstudio-13866958

Page 92: ~knitr+pandocではじめる~『R MarkdownでReproducible Research』

参考スライド

92

RStudio事始め

http://www.slideshare.net/TakashiYamane1/rstudio

Page 94: ~knitr+pandocではじめる~『R MarkdownでReproducible Research』

参考サイト

94 http://kbroman.github.io/knitr_knutshell/

Page 96: ~knitr+pandocではじめる~『R MarkdownでReproducible Research』

参考サイト

96 http://d.hatena.ne.jp/a_bicky/20140221/1392941055