我有一个函数,该函数生成可变数量的plotly
图形,并创建R个markdown标头,例如
### Caption for plot
这些标头最终出现在RStudio生成的R markdown html报告中的浮动目录中。
我知道如何使用htmltools::tagList
生成一系列html
和plotly
对象,这些对象将在一个流中呈现所有对象,但是我看不到如何替换{{1 }}中的markdown
元素中的htmltools::HTML('foo')
部分。
答案 0 :(得分:2)
感谢r2evans,这是我的问题的解决方案。这里的R
是字符向量的列表,其每个元素都是文本和markdown的混合。 Pl
是plotly
对象的列表。 nP
是每个列表的长度。
bn <- paste0('c', round(runif(1, 0, 1e6))) # base chunk name
for(i in 1 : nP) {
cn <- paste0(bn, i) # name of individual generated chunk
Plti <- Pl[[i]] # fetch i'th plotly graphic object
k <- c(R[[i]], paste0('```{r ', cn, ',echo=FALSE}'), 'Plti', '```')
cat(trimws(knitr::knit(text=knitr::knit_expand(text=k), quiet=TRUE)))
}
}