gpt4 book ai didi

rmarkdown : manipulate chunk options programmatically?

转载 作者:行者123 更新时间:2023-12-04 12:46:32 25 4
gpt4 key购买 nike

是否可以获取一个 rmarkdown 文件,以编程方式操作 block 选项,然后 knit基于修改后的文件?

我有一些我想要的 rmarkdown 文件 purl , 包含所有代码(即使是带有 eval=FALSE 的代码)。

在这一点上,我最好的猜测是我可以 (1) 使用 sed切换eval=FALSEeval=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'

最佳答案

您可以将 'eval' block 选项设置为基于参数的逻辑条件。

创建一个 Rmarkdown (.Rmd) 文件并在 YAML header 中定义参数:

params:
eval_optional: no

为您可能不想显示的代码块设置 'eval' 选项以测试此参数的值:
```{r optional_code, eval= (params$eval_optional == "Yes")}
# chunk with code you only want to show sometimes
```

然后调用 rmarkdown_render使用适当的参数:
rmarkdown::render(file = "myreport.rmd", params = list(eval_optional = "yes")

http://rmarkdown.rstudio.com/developer_parameterized_reports.html有关使用参数的更多信息

关于rmarkdown : manipulate chunk options programmatically?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36036627/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com