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

为什么knitr使用auto.arima显示警告?,r,warnings,knitr,forecasting,R,Warnings,Knitr,Forecasting,在knitr脚本中从forecast包运行auto.arima似乎总是会生成一个警告-当我在正常R中运行它时,我不会得到这个警告 knitr降价示例代码: ```{r} library(forecast) ``` Spurious warning from forecast and knitr ======================================== The following generates a warning that I don't think is vali

knitr
脚本中从
forecast
包运行
auto.arima
似乎总是会生成一个警告-当我在正常R中运行它时,我不会得到这个警告

knitr降价示例代码:

```{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))
```
产生以下结果:

而在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 
此外,由于此数据集是
auto.arima的示例数据集,我倾向于认为警告不正确(因为我怀疑会给出一个“好”的示例)


知道发生了什么吗?

该警告确实存在,但在内部被
forecast
压制;请参见
forecast:::search.arima
中的
选项(warn=-1)


knitr
(实际上是
evaluate
包)捕获警告,而不考虑
getOption('warn')
值。在这种情况下,您必须使用Jilber建议的
warning=FALSE
选项。

您是否尝试编写
{r,warning=FALSE}
???详见details@Jilber这只是禁用了警告。警告一开始就不应该存在。我没有在R.+1中禁用警告。我还不时观察到使用
drc
软件包的情况。在R中运行代码不会显示警告,但在knitr中运行时会弹出一些警告。我可以给出一个有效的例子,但是它很想得到一个评论。看。我可以重现这个问题。我会设法找出原因。谢谢这似乎也适用于我的drc示例。您认为该警告被
forecast
抑制是正确的,但它不是来自
forecast:::search.arima
。此警告由
auto.arima
调用的
tseries::kpss.test
中的单位根测试生成。不幸的是,它会产生毫无意义的警告,我禁止了这些警告,因为它们不必要地打扰了用户。@RobHyndman哦,是的,我忘了提到这一点;谢谢你指出这一点。我确实从
t系列
中找到了警告的来源,但我不明白(我不是时间序列专家)。您是否试图就这个毫无意义的警告与作者/维护人员争论?如果他们不同意您的意见,您可以使用
suppressWarnings(kpss.test())
从根目录中删除警告。