Pandoc error 1033 when rendering multiple Rmarkdown reports

一个人想着一个人 提交于 2019-12-24 01:37:22

问题


I have r script containing a loop in which I call rmarkdown::render() to create multiple HTML reports.The process worked well until I started to generate larger report files (which make me think about a memory problem...).

After a few successful iteration, the process stops with this message in the R console: Error: pandoc document conversion failed with error 1033.

Here is how the render() function is used inside the loop :

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"))

}

This error is not mentioned here : https://pandoc.org/help.html and does not correspond to this one : https://github.com/jgm/pandoc/issues/1033. The idea mentionned here rmarkdown::render() in a loop - cannot allocate vector of size using this line:knitr::knit_meta(class=NULL, clean = TRUE) is not solving this problem.

NOTE: I can not give a reproductible exemple as I do not know the precise origin of the problem, I hope someone faced the same problem and found a way to takle it.

Session info :

R version 3.6.0 (2019-04-26)

Platform: x86_64-w64-mingw32/x64 (64-bit)

Running under: Windows 10 x64 (build 18362)

[EDIT] Here is the pandoc version I am using :

>pandoc_version()
[1] ‘2.6’

回答1:


Here is the process that solved the error. The idea comes from @tarleb's comment. Error 1033 is not a Pandoc error ; it is not referenced here : https://github.com/jgm/pandoc/blob/master/MANUAL.txt#L1384.

And it is not the memory usage problem that can be solved with knitr::knit_meta(class=NULL, clean = TRUE)

As suggested here, update Pandoc can be the solution.

  1. Using rmarkdown::pandoc_version() check the pandoc version currently used to generate the Rmarkdown reports.
  2. Go on this website : https://pandoc.org/releases.html and check if the version you are using is the latest one.

For me it was not the case (I was using v2.6 of Pandoc and last one was v2.7.3) So I followed the tutorial from this page : https://pandoc.org/installing.html.

Then I checked if rmarkdown::pandoc_version() returned the latest version number and I reran my R script. It solved the problem.



来源:https://stackoverflow.com/questions/57994237/pandoc-error-1033-when-rendering-multiple-rmarkdown-reports

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!