R - 如何在 R 中读取多个 png 文件并编织成 pdf?
Posted
技术标签:
【中文标题】R - 如何在 R 中读取多个 png 文件并编织成 pdf?【英文标题】:R - How to read multiple png files in R and knit into a pdf? 【发布时间】:2021-10-18 21:27:55 【问题描述】:我有大约 100 个 .png 文件(之前在 R 中通过另一个脚本生成的图),我想读入 R。读完后,我想将它们编成一个 pdf 文档,每页有 1 或 2 个图。我不断收到错误。
png::readPNG(path, native = TRUE, info = TRUE) 中的错误:文件不是 PNG 格式
【问题讨论】:
您是否考虑过使用include_graphics(path)
并使用list.files()
填充path
?这样您就可以将现有的 PNG 文件包含到文档中,然后再合并为 PDF。
【参考方案1】:
如果你已经在 R 中生成 PNG 文件,为什么不直接在 Rmarkdown 文档中生成呢?设置cache = TRUE
可以加快文档第一次执行后的计算速度。
如果你想手动包含它们,你应该在一个块中使用knitr::include_graphics()
。您可以使用此方法将单独的图添加到页面,from the documentation 您可以将路径的字符向量传递给它。正如 cmets 中的 @CL 所建议的那样,您可以使用 list.files()
来查找所有 PNG 并创建要传递给函数的字符向量。
例如,您将有一个看起来像这样的代码块:
paths <- list.files(path = "path/to/images", pattern = "*.png")
knitr::include_graphics(paths)
如果您想更好地控制图像的放置,则需要将其分成多个块。请注意,尽管list.files()
函数的pattern
参数采用正则表达式,因此您可以在一个块中包含与模式匹配的文件(例如a_images1.png
、a_images2.png
等),然后包含不同的模式在另一个块中。
【讨论】:
以上是关于R - 如何在 R 中读取多个 png 文件并编织成 pdf?的主要内容,如果未能解决你的问题,请参考以下文章