R markdown使用不同的参数重新运行报告的同一部分
我熟悉R标记的“参数” 但是,假设我想为5个不同的区域生成相同的报告(相同的图表,相同的表格) 有没有一种方法可以在一个循环或重叠中优雅地完成这项工作,或者我需要做几个部分。因此,在伪代码中,我想做如下操作: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] ... 换句话说,我想将报告的“部分”功
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')`