r - 使用 spin 渲染 R 脚本时如何传递参数?

标签 r r-markdown knitr-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 脚本中更改哪些内容才能通过调用 rmarkdown::render 来控制 school_lvl 的值?将 school_lvl 的值设置为“Elementary”或“Secondary”。

最佳答案

如果您想从 rmarkdown::render()params 参数传递一些参数函数到 knitr ,有点复杂,因为 knitr::spin() 函数会覆盖参数。您可以在 R 脚本中指定带有空参数值的注释 header (如 documentation 中所示),例如测试.R:

#' ---
#' params:
#'   wanted_cyl: null
#' ---

library(tidyverse)

mtcars %>%
 filter(cyl == params$wanted_cyl)

然后你可以调用:

rmarkdown::render(input = "test.R", params = list("wanted_cyl" = 6))

关于r - 使用 spin 渲染 R 脚本时如何传递参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62661828/

相关文章:

r - 对于 R Markdown,如何从 R 变量显示矩阵

r - 更改 R Markdown beamer 演示文稿中的背景

r - 使用 knitr 的 spin() 时生成目录 (toc)

r - 生成具有特定标准差的相关随机变量

r - 在相关矩阵中包装轴标签

r - lme4::glmer 中的错误信息: "' what' must be a string or a function"

r - 将字符传递给公式

R Markdown 找不到函数

r - knitr::spin() 可以获取全局选项吗?

r - 将带有 Markdown 标签的 R 脚本作为外部文件包含在 Rmarkdown 文件中