パラメータ付きRmdが便利そうだと思ったのでメモと実験
パラメータ付きRmdとは
YAMLヘッダーの params
で作成される変数のリストを用いたRmd
うまく使えばYAMLヘッダーさえ弄ればOKな半自動レポーティングの助けになると思われる。
詳細は、こちら https://bookdown.org/yihui/rmarkdown/params-knit.html
リンク先にはパラメータ入力用GUIを用いる方法も紹介されている。
使い方
変数名:値
という記法で以下のように書け、型の推測もしてくれる。
---
params:
i: 1
d: 1.5
c: aaa bbb
---
本記事はRmdを用いており、上記と同様の params
を指定しているので、中身が上手くパースされているか確かめてみよう。
str(params)
## List of 3
## $ i: int 1
## $ d: num 1.5
## $ c: chr "aaa bbb"
GOOD!
注意点
Rmdでは、例えば記事作成日の自動入力などを行うためYAMLヘッダー中でRコード (インラインコード)を評価させることが可能だ。
---
date: `r Sys.Date()`
---
しかし params
は例外らしくエラーが出る。
params:
x: `r Sys.Date()`
Error in yaml::yaml.load(yaml, handlers = knit_params_handlers(evaluate = evaluate)) : Scanner error: while scanning for the next token at line 11, column 8 found character that cannot start any token at line 11, column 8