假设我必须遵循以下数据集:
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 ...
有人可以帮我吗?
答案 0 :(得分:2)
这可以吗?
```{r, results='asis'}
cat(sprintf('![%s](%s)', df$caption, df$png_file), sep = '\n')
```