我正在运行一个 for 循环来使用 R 执行 Arima。我的 for 循环将更改 p、d、q 值并运行 arima 并将 pdq 值存储在数据框中。但是在这个过程中,一些 pdq 值抛出错误并且我的 for 循环正在停止。我不希望我的 for 循环在没有完成完整循环的情况下停止。是否可以不中断我的 for 循环并存储除错误之外的所有 pdq 值?
问问题
1310 次
1 回答
3
你正在寻找try
。(或者,tryCatch
)
我假设你正在运行这样的东西:
for (p in ..)
for (q in...)
...
mod <- arima(x, c(p,d,q))
如果是这样,只需将最后一行更改为
mod <- try(arima(x, c(p,d,q)), silent=TRUE)
# the silent is optional
但是,您最好这样做:
pdq <- expand.grid(p, d, q)
apply(pdq, 1, function(o) try(arima(x, o), silent=TRUE))
最后,确保你不只是钓鱼 http://xkcd.com/882/
于 2013-05-18T04:40:01.517 回答