Rstudios sarima仅显示地块

时间:2019-10-28 22:24:20

标签: r rstudio

我在Rstudios中运行以下代码:

```{r}
library(astsa)
data = c(1:500)
mo1 = sarima(data,0,0,2)
```

它会生成我感兴趣的五个图并从非线性优化例程中输出。我不希望非线性优化的输出,但是使用details=FALSE将其关闭,我还将关闭所需的绘图。

当我在控制台中运行此代码时,将图放入pdf,并将优化输出打印到STDOUT。这很好,因为我可以分别进行绘图和优化,这是我需要的,但是我想在RStudios中进行。该怎么办?

1 个答案:

答案 0 :(得分:1)

似乎details参数都用于返回优化器的trace输出-参见sarima中的行:

trc = ifelse(details, 1, 0)

和各种

optim.control = list(trace = trc, REPORT = 1, reltol = tol)

并生成图

if (details) {
  < code for plots>
}

有两种方法可以生成曲线图,但没有优化输出:

  1. 捕获优化器的输出:

    mo1 = capture.output(sarima(data,0,0,2))
    

    但是您要么必须解析捕获的输出以获取适合的统计信息,要么需要再次运行sarimamo1 = sarima(data,0,0,2, details=FALSE))以获取统计信息。

  2. 更改函数的主体以更改参数details的作用:

    body(sarima)[[18]] = quote(trc <- abs(details-1)) 
    mo1 = sarima(data,0,0,2, details = TRUE)
    
  3. 另一种选择是request that the authors更改功能以分离优化程序跟踪和绘图命令(即,将plot=TRUE类型的参数添加到功能签名并将if(details)更改为if(plot)