我想以编程方式在我的 .Rmd 降价文档中包含很多图像。就像是
```{r echo=FALSE}
cat("![](myfile_1.png)")
```
将不起作用,因为结果.md
输出是
```
## ![](myfile_1.png)
```
我需要去掉代码标签```
和前导##
. 是否可以选择从 R 块中直接注入降价代码?
BTY:同样的问题也适用于 HTML。在这里,从 R 块中注入 HTML 代码也会非常有帮助。
使用results ='asis'
意味着您不必弄乱钩子、注释等,因为结果不被视为代码,而是降价(或任何输出格式)
```{r myfile-1-plot, echo = F, results = 'asis'}
cat('\n![This is myfile_1.png](myfile1.png)\n')
```
会导致
![This is myfile_1.png](myfile1.png)
请注意,我用新的行标记包装了输出文本,以确保它位于单独的行上。
假设您使用knitr
,您可以使用以下comment
选项:
```{r echo=FALSE, comment=""}
cat("![](myfile_1.png)")
```
您将不得不更改挂钩:
```{r echo=FALSE, comment=""}
knit_hooks$set(output = function(x,
options) x)
cat("![](myfile_1.png)")
```
当您想再次渲染 markdown 时,请确保再次重置您的钩子,一种方法是使用render_markdown()
.
```{r b, echo=FALSE, comment=""}
render_markdown()
a <- 1
```
要在循环中使用,如果您需要从数据框中粘贴一堆图片:
for(h in 1:nrow(file_names)){
image_file<-paste('\n![](', file_names[h],')\n',sep="")
cat('\n')
cat(image_file)
cat('\n')
}