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

标签 r r-markdown pandoc

我有 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/

    相关文章:

    r - 调整基础图形图例标签宽度

    r - ggplot/geom_segment : sorting y-axis labels (factors) according to value of variable

    html - 使用 knitr 导入 html 输出的字体类型

    r - 创建 R Markdown PDF 报告时出错

    ruby - 使用 pandoc ruby​​ 将 HTML 和内联 Mathjax 数学转换为 LaTeX

    r - `ddply`(或类似的)可以做一个滑动窗口吗?

    r - 根据外部标准计算一行中的条目数

    r - 在 Xaringan 中保留 <- 或 != 等字符序列,防止替换

    ipython - IPython(Jupyter)MathJaX序言

    删除/隐藏针织 Markdown->pandoc 图下方的图形标题