r - 生成动态 R Markdown block

标签 r knitr r-markdown

在我的数据集中,我想要使用 R Markdown 分析 60 个组并将其放入 HTML 报告中。因为我想对每个组应用相同的分析,所以我希望有一种方法可以动态生成代码块/分析。

简单来说,我想避免将该 block 复制 60 次。

我遇到了这个thisknitr 中使用子项的问题。我尝试用 iris 数据集复制这一点。在下面的示例中,我只想生成三个 H4 标题,每个物种一个。

值得注意的是,我并没有接受这种方法,它只是似乎与我想做的事情有关。

这是我使用的文件:

parent.RMD 文件。这将是我的“主”报告。

Automate Chunks of Analysis in R Markdown 
========================================================


```{r setup, echo=FALSE}
library(knitr)
```


```{r run-numeric-md, include=FALSE}
out = NULL
for (i in as.character(unique(iris$Species))) {
  out = c(out, knit_child('child.Rmd'))
}

```

这是child.Rmd

#### Species = `r [i]`

最佳答案

尝试 knit_expand():

Automate Chunks of Analysis in R Markdown 
========================================================

```{r setup, echo=FALSE}
library(knitr)
```

```{r run-numeric-md, include=FALSE}
out = NULL
for (i in as.character(unique(iris$Species))) {
  out = c(out, knit_expand(text='#### Species = {{i}}'))
}
```

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

您还可以创建一个模板文件,例如 'child.rmd' 并将其放入 for 循环中,这样您就不必在引号中进行复杂的分析:

out = c(out, knit_expand('template.rmd'))

然后让您的'template.rmd'为:

#### Species = {{i}}

关于r - 生成动态 R Markdown block ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21729415/

相关文章:

css - 使用 Foundation 4 CSS 时 R Markdown 绘制图像质量损失

windows - 将 RScript 生成的绘图留在屏幕上直到用户交互

r - 如何在 R 的 lm() 中正确选择因变量和控件?

r - 如何在R中生成bin频率表?

RStudio knitr 主题

r - 在 Rmd/RStudio 中与 cat 命令结合使用时不打印数据表

r - knitr:添加到新代码块中的上一个绘图

html - 在 Rmarkdown : html vs. ioslides 输出中调整外部图像的大小

json - 使用 RJSONIO 和 AsIs 类

rmarkdown : plot dissapears when grid. 栅格位于 `if` block 内