R脚本经Rmarkdown渲染为HTML时循环生成的二级标题格式丢失如何解决
问题原因
你开启results='asis'参数后,手动用cat输出的Markdown标题和绘图输出内容之间没有足够的空白分隔,Pandoc解析文档时无法正确识别第二个标题的Markdown格式,就会直接渲染成普通文本。
解决方法
调整循环内的换行逻辑,保证每个标题上下都至少有2个空行和其他内容分隔,修正后的代码如下:
variables<-c("Sepal.Length","Petal.Width") #+ results='asis',fig.height = 3, fig.width = 3 for (v in variables) { # 开头加空行和上一段内容分隔 cat("\n\n## Variable\n\n") boxplot(iris[,v],size=1) # 绘图结束后加空行和下一段内容分隔 cat("\n\n") }
修改后重新执行渲染代码即可看到两个二级标题都能正常渲染:
library(rmarkdown) render("prueba.R","html_document")
如果需要区分不同变量的标题,还可以把变量名插到标题里cat("\n\n## 变量:", v, "\n\n"),可读性会更好。
内容的提问来源于stack exchange,提问作者Lev
相关产品推荐
相关产品推荐

