[英]How to pass a parameter when rendering an R script with spin?
我正在使用命令rmarkdown::render(input = "my_script.R")
從 a.R 腳本創建 HTML output 腳本。 它調用knitr::spin()
並成功生成 HTML output。 在 that.R 文件中,有一個過濾變量school_level
我想通過調用來控制它的值render()
。
我知道對於 RMarkdown 文件,我會在 YAML header 中指定一個參數。 但是對於 a.R 腳本,我該怎么做呢? 我沒有在RMarkdown Cookbook之類的指南中看到它。
說我要在 my.R 腳本中修改的行是:
good_data <- my_data %>%
filter(level == school_lvl)
我在 my.R 腳本中進行哪些更改以控制從調用rmarkdown::render
的school_lvl
的值? 使school_lvl
的值為“小學”或“中學”。
如果你想將rmarkdown::render()
function 的params
參數中的一些參數傳遞給knitr
,這有點復雜,因為knitr::spin()
function 會覆蓋參數。 您可以在 R 腳本中指定注釋的 header(如文檔中所示),參數值為空,例如test.R
:
#' ---
#' params:
#' wanted_cyl: null
#' ---
library(tidyverse)
mtcars %>%
filter(cyl == params$wanted_cyl)
然后你可以調用:
rmarkdown::render(input = "test.R", params = list("wanted_cyl" = 6))
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.