繁体   English   中英

抑制Knitr / Rmarkdown中的消息

[英]Suppressing messages in Knitr / Rmarkdown

这是我的RMarkdown文件的代码:

```{r echo=FALSE, message=FALSE}
opts_chunk$set(comment = NA, echo=FALSE, message = FALSE, warnings = FALSE)
options("getSymbols.warning4.0"=FALSE)
Sys.setenv(TZ = "GMT")
library(quantmod)
library(xtable)
library(PerformanceAnalytics)
```

```{r}
getSymbols("^RUT")
chart.TimeSeries(RUT)
dev.off()
```

尽管设置message = FALSE, warnings = FALSE ,但当我运行getSymbols()dev.off()时,我仍然在HTML文件中获取输出消息。 他们各自的产出是:

[1] "RUT"

null device 
          1 

如何抑制这些消息?

使用knitr时,您永远不需要使用dev.off() 它负责创建绘图的所有设备。

来自包的作者一

每当你dev.off()时,上帝会杀死一只小猫

null device 
          1 

dev.off()的输出。

可能是因为你没有定义envgetSymbols返回一些东西

如果要隐藏结果( output )(通常),可以使用results = 'hide'作为选项。 无需在invisible()包装任何内容

也遇到这个问题,我想补充说它应该是warning = FALSE,而不是warnings = FALSE

尝试使用invisible来抑制这些类型的输出。

```{r}
invisible(getSymbols("^RUT"))
chart.TimeSeries(RUT)
invisible(dev.off())
```

?invisible的帮助页面:

当希望函数返回可以分配的值但在未分配时不打印时,此功能非常有用。

这些都不是“消息”或“警告”,而是实际输出值。 你会看到getSymbols消息确实被输出中的knitr抑制了。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM