gpt4 book ai didi

r - 生成动态 R Markdown block

转载 作者:行者123 更新时间:2023-12-02 02:19:03 26 4
gpt4 key购买 nike

在我的数据集中,我想要使用 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/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com