【问题标题】:How to suppress dev.off() messages in knitr chunk options with markdown in R如何在 R 中使用 markdown 抑制 knitr 块选项中的 dev.off() 消息
【发布时间】:2016-03-25 20:53:00
【问题描述】:

我不想在我在 RStudio 中编写的 .rmd 文件中拆分一段代码。

我的全局选项是:

{r setup, include=FALSE}
knitr::opts_chunk$set(echo = FALSE, autodep = T, message = FALSE, warnings = FALSE, cache=TRUE, messages=FALSE)

甚至我的块选项是:

{r section025, message=FALSE, warning=FALSE}
code here

PDF 输出在我的代码中保存图像的页面中间显示以下内容:

## pdf 
## 2

我似乎已经使用了所有的抑制选项,所以我无法弄清楚为什么仍然会出现这种情况。想法表示赞赏。

【问题讨论】:

  • 您是在创建单独的 pdf 文件还是嵌入到您的 rmd 中?如果是后者,则不需要dev.off。无论如何,您看到的输出只是常规输出--没有messagewarning 或错误,因此您可以使用{r, results='hide'} 抑制这个(并且仍然可以看到情节)
  • 我相信我仍然需要dev.off,因为我只是创建了一个图像以放入其他地方的文档中,而不是在那里显示图像。 results='hide' 不起作用,因为在输出中我需要的块中还有其他表。现在,我将分解成一大堆块而不是一个块。
  • 有一些方法可以在后面的块中使用前一个块的结果,这比在一个将表格输出到准备好的文档的块中创建一个外部文件更可取。如果您提供 minimalreproducible 问题,我们将为您提供帮助。
  • 对不起 - 如果我试图在一个部分中完成所有操作,它与前一个块中的 autodep 无关。除了用 @ 做一个单独的块之外,我找不到一个坚实的周围987654333@,很好。感谢您的意见。

标签: r markdown knitr


【解决方案1】:

将 dev.off() 的结果发送到垃圾变量

whatever <- dev.off()

【讨论】:

    【解决方案2】:

    我遇到了类似的问题。我的解决方案是在invisible() 中使用dev.off

    【讨论】:

      猜你喜欢
      • 2015-12-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-21
      • 1970-01-01
      • 1970-01-01
      • 2018-08-23
      • 2018-11-01
      相关资源
      最近更新 更多