使用旋转渲染 R 脚本时如何传递参数?
How to pass a parameter when rendering an R script with spin?
我正在使用命令 rmarkdown::render(input = "my_script.R")
从 .R 脚本创建 HTML 输出。它调用 knitr::spin()
并成功生成 HTML 输出。在该 .R 文件中,有一个过滤变量 school_level
,我想通过对 render()
.
的调用来控制其值
我知道对于 RMarkdown 文件,我会在 YAML header 中指定一个参数。但是我如何为 .R 脚本执行此操作?我没有在 RMarkdown Cookbook.
这样的指南中看到它
假设我要在 .R 脚本中修改的行是:
good_data <- my_data %>%
filter(level == school_lvl)
我要在我的 .R 脚本中更改什么来控制 school_lvl
调用 rmarkdown::render
的值?将 school_lvl
的值设置为“Elementary”或“Secondary”。
如果你想从 rmarkdown::render()
function to knitr
, it's a bit complicated as the knitr::spin()
function overrides parameters. You can specify a commented header in your R script (as seen in the documentation 的 params
参数中传递一些参数,参数值为空,例如test.R
:
#' ---
#' params:
#' wanted_cyl: null
#' ---
library(tidyverse)
mtcars %>%
filter(cyl == params$wanted_cyl)
那么您可以拨打:
rmarkdown::render(input = "test.R", params = list("wanted_cyl" = 6))
我正在使用命令 rmarkdown::render(input = "my_script.R")
从 .R 脚本创建 HTML 输出。它调用 knitr::spin()
并成功生成 HTML 输出。在该 .R 文件中,有一个过滤变量 school_level
,我想通过对 render()
.
我知道对于 RMarkdown 文件,我会在 YAML header 中指定一个参数。但是我如何为 .R 脚本执行此操作?我没有在 RMarkdown Cookbook.
这样的指南中看到它假设我要在 .R 脚本中修改的行是:
good_data <- my_data %>%
filter(level == school_lvl)
我要在我的 .R 脚本中更改什么来控制 school_lvl
调用 rmarkdown::render
的值?将 school_lvl
的值设置为“Elementary”或“Secondary”。
如果你想从 rmarkdown::render()
function to knitr
, it's a bit complicated as the knitr::spin()
function overrides parameters. You can specify a commented header in your R script (as seen in the documentation 的 params
参数中传递一些参数,参数值为空,例如test.R
:
#' ---
#' params:
#' wanted_cyl: null
#' ---
library(tidyverse)
mtcars %>%
filter(cyl == params$wanted_cyl)
那么您可以拨打:
rmarkdown::render(input = "test.R", params = list("wanted_cyl" = 6))