【问题标题】:How to increase stack space overflow for pandoc in R?如何增加 R 中 pandoc 的堆栈空间溢出?
【发布时间】:2014-05-09 06:15:36
【问题描述】:

我在使用 Knit HTML 时遇到以下错误:

Stack space overflow: current size 16777216 bytes.
Use `+RTS -Ksize -RTS' to increase it.
Error: pandoc document conversion failed with error 2

我正在尝试通过在降价脚本顶部添加以下行来解决此问题:

 ```r
pandoc +RTS -K64m -RTS -f rst -
```

我只是想知道代码是否正确,或者我应该将代码放在哪里才能使其正常工作?

【问题讨论】:

  • 您可能必须编织到一个 md 文件,然后通过the knitr demo docs 或直接在命令行上以编程方式将这些参数添加到 pandoc。它不是最佳的,但它应该可以工作。
  • 我刚刚在 RStudio 的 rmarkdown 页面上注意到 this tidbit。我认为以这种方式(在 YAML 前端)添加 pandoc 选项也应该有效。 (在该页面上向下滚动到“Pandoc Arguments”)
  • 谢谢兄弟...它对我有用...
  • 请发布对您有用的答案并接受它以从 knitr 未回答的问题列表中删除此问题。
  • 非常感谢您没有提供答案;)。我不知道“这个花絮”是什么意思

标签: r knitr r-markdown


【解决方案1】:

解决方案:在你的 Rmd 文件开头添加以下代码 sn-p 以增加堆栈大小:

---
title: "Habits"
output:
  html_document:
    pandoc_args: [
      "+RTS", "-K64m",
      "-RTS"
    ]
---

【讨论】:

  • 感谢您的意见。你是怎么发现的?我似乎无法在 pandoc 文档中找到它。这对我有用,我很高兴在这里找到它 :-) 非常感谢!
  • 我是怎么发现的?我查看了documentation(“Pandoc 参数”部分),发现 pandoc 参数必须指定为数组元素(每个参数一项):
  • 从 Pandoc Arguments 部分对我来说并不完全清楚,我假设这些是某种键/值组合...
  • @FMKerckhof,你是什么意思,他是从哪里发现的?他的名字是 R Yoda
  • 这可能是它自己的问题,但这似乎不适用于 R Notebooks(“创建笔记本时出错:扫描仪错误:在第 7 行扫描下一个标记时,第 3 列发现不能在第 7 行第 3 列开始任何标记。我的第 7 行是“html_notebook”。如果这不够相似,我将开始一个新问题。
【解决方案2】:

这是一个可能的解决方法。在使用 RStudio GUI 按钮“编织 HTML”未能解决错误后,以下生成了预期的 HTML 文件。

library(knitr)
knit2html('./myNotes.Rmd')

希望对您有所帮助。

【讨论】:

  • 这个解决方法也适用于我的情况,虽然我想知道我们如何避免它并使用 Rstudio GUI。
猜你喜欢
  • 2011-11-20
  • 2011-09-21
  • 1970-01-01
  • 1970-01-01
  • 2021-03-17
  • 2012-07-19
  • 2019-05-18
  • 2013-11-15
相关资源
最近更新 更多