gpt4 book ai didi

r - 渲染多个 Rmarkdown 报告时出现 Pandoc 错误 1033

转载 作者:行者123 更新时间:2023-12-03 13:57:25 25 4
gpt4 key购买 nike

我有 r包含我调用 rmarkdown::render() 的循环的脚本创建多个 HTML 报告。该过程运行良好,直到我开始生成更大的报告文件(这让我想到了内存问题......)。

几次成功迭代后,该过程停止并在 R 控制台中显示以下消息:Error: pandoc document conversion failed with error 1033 .
render()函数在循环内使用:

for (i in 1:length(random_vector)) {
id = random_vector[i]

knitr::knit_meta(class=NULL, clean = TRUE) # does not prevent the problem

rmarkdown::render("my_rmd_file_that_generates_reports.Rmd",
output_file = paste(id_fiche, "report.html"))

}

这里没有提到这个错误: https://pandoc.org/help.html并且与此不对应: https://github.com/jgm/pandoc/issues/1033 .
这里提到的想法 rmarkdown::render() in a loop - cannot allocate vector of size使用这一行: knitr::knit_meta(class=NULL, clean = TRUE)不是解决这个问题。

注意:我不能给出一个可重复的例子,因为我不知道问题的确切根源,我希望有人遇到同样的问题并找到解决它的方法。

session 信息:

R 版本 3.6.0 (2019-04-26)

平台:x86_64-w64-mingw32/x64(64位)

运行于:Windows 10 x64(内部版本 18362)

[编辑]
这是我正在使用的 pandoc 版本:
>pandoc_version()
[1] ‘2.6’

最佳答案

这是解决错误的过程。这个想法来自@tarleb's评论。
错误 1033 不是 Pandoc 错误;此处未引用:https://github.com/jgm/pandoc/blob/master/MANUAL.txt#L1384 .

而不是用knitr::knit_meta(class=NULL, clean = TRUE)可以解决的内存使用问题

按照建议 here ,更新 Pandoc 可以解决。

  • 使用 rmarkdown::pandoc_version()检查当前用于生成 Rmarkdown 报告的 pandoc 版本。
  • 去这个网站:https://pandoc.org/releases.html并检查您使用的版本是否是最新版本。

  • 对我来说并非如此(我使用的是 Pandoc 的 v2.6,最后一个是 v2.7.3)
    所以我遵循了这个页面的教程: https://pandoc.org/installing.html .

    然后我检查了是否 rmarkdown::pandoc_version()返回了最新的版本号,然后我重新运行了我的 R 脚本。它解决了这个问题。

    关于r - 渲染多个 Rmarkdown 报告时出现 Pandoc 错误 1033,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57994237/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com