我在Rstudios中运行以下代码:
```{r}
library(astsa)
data = c(1:500)
mo1 = sarima(data,0,0,2)
```
它会生成我感兴趣的五个图并从非线性优化例程中输出。我不希望非线性优化的输出,但是使用details=FALSE
将其关闭,我还将关闭所需的绘图。
当我在控制台中运行此代码时,将图放入pdf,并将优化输出打印到STDOUT。这很好,因为我可以分别进行绘图和优化,这是我需要的,但是我想在RStudios中进行。该怎么办?
答案 0 :(得分:1)
似乎details
参数都用于返回优化器的trace
输出-参见sarima
中的行:
trc = ifelse(details, 1, 0)
和各种
optim.control = list(trace = trc, REPORT = 1, reltol = tol)
并生成图
if (details) {
< code for plots>
}
有两种方法可以生成曲线图,但没有优化输出:
捕获优化器的输出:
mo1 = capture.output(sarima(data,0,0,2))
但是您要么必须解析捕获的输出以获取适合的统计信息,要么需要再次运行sarima
(mo1 = sarima(data,0,0,2, details=FALSE)
)以获取统计信息。
更改函数的主体以更改参数details
的作用:
body(sarima)[[18]] = quote(trc <- abs(details-1))
mo1 = sarima(data,0,0,2, details = TRUE)
另一种选择是request that the authors更改功能以分离优化程序跟踪和绘图命令(即,将plot=TRUE
类型的参数添加到功能签名并将if(details)
更改为if(plot)
。