【发布时间】:2022-04-14 09:15:06
【问题描述】:
我正在使用 RMarkdown 在功能上使用 results = 'asis' 和 purrr::map 创建文档。在每次purrr 迭代中,都会从块中产生多个图。它们中的大多数大小相同,并且可以使用图形大小的块选项进行设置。然而,一两个需要有不同的大小。由于循环/映射的设置方式,无法将代码分成不同的块。
我找到的最接近的是http://michaeljw.com/blog/post/subchunkify/,但是当我在需要不同大小的绘图上使用它时,它会导致使用 print() 函数输出的第一次迭代的绘图在 subchunkify 的绘图位置被回收.
有没有一种不同的、不那么老套的方法来做到这一点?或者在 subchunkify 代码中是否有一些可以修复的明显内容?
这里是subchunkify():
subchunkify <- function(g, fig_height=7, fig_width=5) {
g_deparsed <- paste0(deparse(
function() {g}
), collapse = '')
sub_chunk <- paste0("
`","``{r sub_chunk_", floor(runif(1) * 10000), ", fig.height=", fig_height, ", fig.width=", fig_width, ", echo=FALSE}",
"\n(",
g_deparsed
, ")()",
"\n`","``
")
cat(knitr::knit(text = knitr::knit_expand(text = sub_chunk), quiet = TRUE))
}
【问题讨论】:
标签: r r-markdown