我想知道是否真的可以从另一个参数化报告中调用/呈现一个参数化报告?
我找到了[this] [1],但似乎没有提出解决方案。
下面是一个最小示例,其中 main-report.rmd 尝试调用/呈现 sub-report-1.rmd 。这两个报告在YAML标头中具有相同的参数。
图书馆(在这里)
sub-report-1.rmd
---
title: "Secondary report to run"
output: html_document
params:
country: "Canada"
---
```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = TRUE)
paste0("Hello ", params$country)
```
main-report.rmd
---
title: "Main report"
output: html_document
params:
country: "France"
---
```{r run1, include=FALSE}
rmarkdown::render(here::here("rmd", "sub-report-1.rmd"),
output_format = "html_document",
output_file="report1.html",
params = list(country=params$country))
```
我收到以下错误:
错误:编织环境中已经存在params对象,因此无法 被rend param覆盖。执行停止。
答案 0 :(得分:0)
解决方案是在渲染函数中使用另一个参数:envir = new.env()
。问题在于对象params
已被使用。
rmarkdown::render(here::here("rmd", "sub-report-1.rmd"),
output_format = "html_document",
output_file="report1.html",
params = list(country=params$country),
envir = new.env())