文系データサイエンティストの備忘録

英語できないのに外資系で働くデータ分析屋。

RmdファイルからR実行部分を抽出

KaggleなどでKernelからRmdファイルをダウンロードしてきて、手元で再現したいときがよくあるかと思います。 そんなときはpurl{knitr}を使用して、R実行スクリプトチャンクを抜き出します。

script.RmdからR実行部分を抜き出してみましょう。

hoge
 ```{r, cache=TRUE}
# dotR script
cat("We are hogehoge.")
 ```
hogehoge

inputにRmdファイルを指定、outputに出力先と出力ファイル名を指定します。

# install.packages("knitr")
library(knitr)

# purl Rmd
## documentation=0
purl(input="input/script.Rmd", output="output/script0.R", documentation=0)
## documentation=1(default)
purl(input="input/script.Rmd", output="output/script1.R", documentation=1)
## documentation=2
purl(input="input/script.Rmd", output="output/script2.R", documentation=2)

実行結果は、option引数ごとにそれぞれ以下のようになります。

# dotR script
cat("We are hogehoge.")
## ---- cache=TRUE---------------------------------------------------------
# dotR script
cat("We are hogehoge.")
#' hoge
## ---- cache=TRUE---------------------------------------------------------
# dotR script
cat("We are hogehoge.")

#' hogehoge

これでKernel再現が捗ります。