【问题标题】:How to suppress all messages in knitr/ Rmarkdown?如何抑制 knitr/Rmarkdown 中的所有消息?
【发布时间】:2023-03-21 08:44:01
【问题描述】:

我使用dplyr 进行了一些分析,对于特定代码,完成操作大约需要 30 秒。在生成的 HTML 中,我得到了类似这样的很长的输出(再现最后几行):

|================================================ |100% ~0 s remaining     
|================================================ |100% ~0 s remaining     
Completed after 35 s

我不希望它显示在输出中。我怎么能压制这个? knitr 的全局块选项中是否有任何想法可以阻止这些消息

【问题讨论】:

  • 你试过opts_knit$set(progress=FALSE)吗?此外,还有一个issue 似乎在六月关闭。您可以使用min_time 参数(do,如果您使用的是do)。
  • 如何在do 中指定min_time?帮助中没有任何内容。如果我将它用作参数,它会给出Error: Arguments to do() must either be all named or all unnamed
  • 看起来问题关闭并不意味着该参数已进入任何版本。 do 正在调用 p <- progress_estimated(n * m, min_time = 2),这可能是导致您的问题的原因。也许尝试重新打开问题?
  • 哦。我不使用 Github,所以这对我来说是不可能的。谢谢你的cmets。关于Progress=FALSE,我在第一个块中定义的文档的全局块选项为opts_chunk$set(echo=FALSE, cache=TRUE, fig.align='center', fig.path='figure/')。我可以在其中添加Progress=FALSE 吗?还是我必须在它下面明确写opts_knit$set(progress=FALSE)?这可能是一个愚蠢的问题,但我是新手,所以请多多包涵。
  • @hrbrmstr 进度条来自 dplyr 而不是 knitr,所以knitr::opts_knit$set(progress=FALSE) 将无法抑制它。

标签: knitr r-markdown


【解决方案1】:

我认为您只需要该特定代码块的块选项results='hide'

```{r results='hide'}
# do your dplyr computation here
```

【讨论】:

    【解决方案2】:

    或者做 message='hide' 或者如果你有警告你做 waring='hide'。

    取决于显示的内容,但如果您在 google 中查找块选项,您会发现哪个选项会隐藏您想要隐藏的内容。

    【讨论】:

    • 根据docs,消息和警告应该是合乎逻辑的(TRUE或FALSE)。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-11-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多