通过字幕和图形循环编织

时间:2018-10-26 09:15:03

标签: r graph r-markdown knitr caption

假设我必须遵循以下数据集:

data.frame(group=paste0("group",c(rep(1,4),rep(2,4),rep(3,4))),caption=c(paste0("caption",1:12)),png_file=c(paste0("graph",1:12,".png")))

看起来像这样:

group   caption    png_file
1  group1  caption1  graph1.png
2  group1  caption2  graph2.png
3  group1  caption3  graph3.png
4  group1  caption4  graph4.png
5  group2  caption5  graph5.png
6  group2  caption6  graph6.png
7  group2  caption7  graph7.png
8  group2  caption8  graph8.png
9  group3  caption9  graph9.png
10 group3 caption10 graph10.png
11 group3 caption11 graph11.png
12 group3 caption12 graph12.png

从它开始,我想有对应于组的部分,以及每个图的一个空子部分,并带有正确标题的knitr :: include_graphics()。

对于第一个,我将在markdown中写类似的内容:

# group1

##

```{r, echo=FALSE, fig.cap="caption1"}
knitr::include_graphics("graph1.png")
```

##

```{r, echo=FALSE, fig.cap="caption2"}
knitr::include_graphics("graph2.png")
```

,依此类推。

我如何自动执行此过程?我努力用r块来写一个循环insisde ...

有人可以帮我吗?

1 个答案:

答案 0 :(得分:2)

这可以吗?

```{r, results='asis'}
cat(sprintf('![%s](%s)', df$caption, df$png_file), sep = '\n')
```