Dav*_*idC 7 r knitr r-markdown
是否可以采用rmarkdown文件,以编程方式操作块选项,然后knit基于修改后的文档?
我有一些我想要的rmarkdown文件purl,包括所有代码(甚至eval=FALSE包括).
在这一点上,我最好的猜测是我可以(1)使用sed切换eval=FALSE到eval=TRUE,然后(2)purl.但我喜欢,如果有更好的东西,例如可能像:
parsed_rmd <- knitr::parse_rmd('my_rmarkdown.rmd')
for (chunk in parsed_rmd) {
chunk$eval <- TRUE
}
knitr::purl(parsed_rmd, output = 'my_rmarkdown_as_r.R'
Run Code Online (Sandbox Code Playgroud)
您可以根据参数将 'eval' 块选项设置为逻辑条件。
创建一个 Rmarkdown (.Rmd) 文件并在 YAML 标头中定义参数:
params:
eval_optional: no
Run Code Online (Sandbox Code Playgroud)
为您可能不想显示的代码块设置 'eval' 选项以测试此参数的值:
```{r optional_code, eval= (params$eval_optional == "Yes")}
# chunk with code you only want to show sometimes
```
Run Code Online (Sandbox Code Playgroud)
然后rmarkdown_render使用适当的参数调用:
rmarkdown::render(file = "myreport.rmd", params = list(eval_optional = "yes")
Run Code Online (Sandbox Code Playgroud)
有关使用参数的更多信息,请参阅http://rmarkdown.rstudio.com/developer_parameterized_reports.html
| 归档时间: |
|
| 查看次数: |
819 次 |
| 最近记录: |