Posted at

R + pandoc + knitrBootstrapでRmdを書き出す

More than 5 years have passed since last update.

少しRから離れてruby書いていたら、色々バージョンが上がったりしていて驚きました。

knitrBootstrap使っているんですが、新しくなっていたので上げてみました。

環境はMacです。


Pandocを入れる

お馴染みbrewでhaskellを入れ、pandocを導入します。

$ brew install haskell-platform

$ cabal update
# version上がってるよ!と言われたので
$ cabal install cabal-install
$ cabal install pandoc
# path通しておきます
$ vim ~/.bash_profile
+ $HOME/.cabal/bin:$PATH
$ source ~/.bash_profile
$ pandoc -v
pandoc 1.12.3.3 # Yay!
# これが入ってないと後で怒られました
$ cabal install pandoc-citeproc


Rから書き出す

先にsystem('pandoc -v')でpandocがRから呼び出せるかを確認しましょう。

見つからない場合はRが.bash_profileを読み込んでいないので、その場合は.Rprofilesource(~/.bash_profile)と書けば通ります。が、それが適切か不安だったりします…。

Rからpandocが読み出せれば、後は書き出せばOKです。

library(knitrBootstrap)

library(rmarkdown)
render('awesome_report.Rmd', knitrBootstrap::bootstrap_document())


Rstudioから書き出す

Rstudioからも書き出したいんですが、直接Rを起動した時と違う環境を読み込んでいるらしく、上手く行きません…。

Rstudioだと読み込まれてるrubyのバーションも違ったりして、「何かがおかしい…」な感じなんですが、時間もないし調査するのが面倒で取り敢えず諦めました。

まぁ普段は直接R触るので、まぁ良いや的な。

でも出来たら便利なので、Rstudioが呼び出す環境変数やらでよく纏まってる記事とかがあれば、是非教えて貰いたいです!