R markdown使用不同的参数重新运行报告的同一部分

R markdown使用不同的参数重新运行报告的同一部分,r,r-markdown,R,R Markdown,我熟悉R标记的“参数” 但是,假设我想为5个不同的区域生成相同的报告(相同的图表,相同的表格) 有没有一种方法可以在一个循环或重叠中优雅地完成这项工作,或者我需要做几个部分。因此,在伪代码中,我想做如下操作: for(i in 1:5): Bunch of text table[i] plot[i] 而不是 bunch of text table[1] plot[1] bunch of text table[2] plot[2] ... 换句话说,我想将报告的“部分”功

我熟悉R标记的“参数”

但是,假设我想为5个不同的区域生成相同的报告(相同的图表,相同的表格)

有没有一种方法可以在一个循环或重叠中优雅地完成这项工作,或者我需要做几个部分。因此,在伪代码中,我想做如下操作:

for(i in 1:5):
   Bunch of text
   table[i]
   plot[i]
而不是

bunch of text
table[1]
plot[1]

bunch of text
table[2]
plot[2]

...
换句话说,我想将报告的“部分”功能化,然后我可以调用

for(i in 1:5):
   makeReport(i)

它将进入,放入与索引i相关的文本、数字等。

如果在
内进行循环,则必须显式调用print:

```{r}
for(i in 1:2) {
  print(summary(cars[,-i]))
  plot(cars[,-i])
}
```

并在主rmd文件中连接结果:

```{r runall, include=FALSE}
out <- NULL
for (i in 1:2) {
  out <- c(out, knitr::knit_child('test_section.rmd'))
}
```

`r paste(out, collapse = '\n')` 
`{r runall,include=FALSE}

是的,但是如果我希望每个部分有不同的标题怎么办?@user1357015将它们放在一个字符向量中,然后首先打印
I
-th元素?啊,是的。。。您必须使用
results=“asis”
将标题格式化为html格式-例如
print(htmltools::h3(my_text[i])
-这可能会变得复杂。对--在这一点上,事情变得非常复杂--我希望有某种方法可以在R标记中更优雅地完成它。:-。查看您可以在传递到
knitr
之前
brew
文档,或者通过my中的
Pandoc.brew
一次运行两件事。
Header: `r i`-th cars

```{r}
  print(summary(cars[,-i]))
  plot(cars[,-i])
```
```{r runall, include=FALSE}
out <- NULL
for (i in 1:2) {
  out <- c(out, knitr::knit_child('test_section.rmd'))
}
```

`r paste(out, collapse = '\n')`