如何在呈现带有旋转的 R 脚本时传递参数?



我正在从.带有命令的 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::renderschool_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))

最新更新