32

这是我的 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(). 他们各自的输出是:

[1] "RUT"

null device 
          1 

如何抑制这些消息?

4

3 回答 3

45

也遇到了这个问题,我想补充一下,应该warning = FALSE,不是warnings = FALSE

于 2016-10-17T02:55:24.243 回答
40

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

来自包作者一

只要你 dev.off(),上帝就会杀死一只小猫

null device 
          1 

是 的输出dev.off()

getSymbols鉴于您尚未定义,可能会返回某些内容env

如果您想隐藏结果 ( output)(通常),您可以将results = 'hide'其用作选项。无需包裹任何东西invisible()

于 2013-03-14T10:08:50.027 回答
18

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

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

从帮助页面?invisible

当希望函数返回可赋值但未赋值时不打印的值时,此函数很有用。

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

于 2013-03-14T10:03:58.880 回答