为什么knitr使用auto.arima显示警告?

Cor*_*one 7 warnings r forecasting knitr

似乎auto.arima从脚本中的forecast包运行knitr始终会生成警告 - 当我在正常R中运行它时,我不会收到此警告.

knitr Markdown示例代码:

```{r}
library(forecast)
```
Spurious warning from forecast and knitr
========================================

The following generates a warning that I don't think is valid

```{r}
summary(auto.arima(WWWusage))
```
Run Code Online (Sandbox Code Playgroud)

产生这个:

knitroutput

而在R中运行以下内容通常不会产生此类警告:

> library(forecast)
This is forecast 4.02 

> summary(auto.arima(WWWusage))
Series: WWWusage 
ARIMA(1,1,1)                    

Coefficients:
         ar1     ma1
      0.6504  0.5256
s.e.  0.0842  0.0896

sigma^2 estimated as 9.793:  log likelihood=-254.15
AIC=514.3   AICc=514.55   BIC=522.08

Training set error measures:
       ME      RMSE       MAE       MPE      MAPE      MASE 
0.3035616 3.1137542 2.4052748 0.2805566 1.9174634 0.5315228 
Run Code Online (Sandbox Code Playgroud)

此外,由于此数据集是示例数据集,因此auto.arima我倾向于认为警告不正确(因为我怀疑会给出一个"好的"示例).

知道发生了什么事吗?

Yih*_*Xie 8

这个警告确实存在,但在内部得到了抑制forecast; 看到options(warn = -1)forecast:::search.arima.

knitr(实际上是evaluate包)捕获警告,无论getOption('warn')值如何.在这种情况下,您必须使用warning=FALSEJilber建议的选项.