我正在从.带有命令的 R 脚本rmarkdown::render(input = "my_script.R")
.它调用knitr::spin()
并成功生成 HTML 输出。 在那.R文件,有一个过滤变量school_level
我想从调用render()
控制其值。
我知道对于 RMarkdown 文件,我会在 YAML 标头中指定一个参数。 但是我该如何做到这一点.R 脚本? 我没有在像RMarkdown食谱这样的指南中看到它。
说出我想在我的.R 脚本为:
good_data <- my_data %>%
filter(level == school_lvl)
我在 .R 脚本来控制从调用到rmarkdown::render
的school_lvl
的值? 使school_lvl
的值为"初级"或"次要"。
如果你想将一些参数从rmarkdown::render()
函数的params
参数传递给knitr
,这有点复杂,因为knitr::spin()
函数会覆盖参数。可以在 R 脚本中指定注释标头(如文档中所示(,参数值为空,例如test.R
:
#' ---
#' params:
#' wanted_cyl: null
#' ---
library(tidyverse)
mtcars %>%
filter(cyl == params$wanted_cyl)
然后你可以打电话:
rmarkdown::render(input = "test.R", params = list("wanted_cyl" = 6))