私は本当にここに迷っています。関数の出力をどのようにリダイレクトするかについて、スタックオーバーフローのスレッドがいくつか見つかりましたが、私の場合はそのどれも動作していないようです。ライブラリ関数の出力をキャッチ
多くの(生成された)季節にはlibrary(forecast)
のarimaを使用していますが、そのうちのいくつかは無効なプロパティを持っています。その結果、auto.arima()
はエラーと警告を出力します。とにかく、このエラーはtryCatch
またはcapture.output()
(これは通常の予測のみをキャプチャしています)経由で受け付けることができません。
目標は、下の例で投げられたエラーメッセージ(および警告)をキャプチャしてそれに反応することです。だから、基本的に私はエラーと予測(エラーがあるにもかかわらず)をいくつかの可変的な形で持っています。
私が何か提案を感謝し、次はエラーを生成するために、最小限の例です。
library(forecast)
testt <- c(826,816,839,995,697)
testend <- c(2015,164)
testseries <- ts(testt,end=testend,frequency=365)
auto.arima(testseries)
#tryCatch not working:
testfc <- tryCatch(forecast(auto.arima(testseries),h=1), error=function(e) NA)
#capture.output not working:
result <- capture.output(auto.arima(testseries))
正確に...あなたが捕獲しようとしている何を...:
ここではそれを実装できる一つの方法ですか? 'arima(x、order = c(1、d、0)、xreg = xreg)のエラー:CSSの非固定AR部分' –
@ 42- OPは 'autoによって投げられたエラーを捕まえようとしています。 「arima」。この例は意図的に動作していないため、エラーが発生しています。 –
私は、OPの目標はあいまいだと思います。 'auto.arima'へのその呼び出しからの(コンソールへの)出力には、エラーメッセージとモデル要約の両方が含まれています。エラー報告は実際には実行を停止しないので、呼び出しは 'c(" ARIMA "、" arima ")クラスのオブジェクトを返します。したがって、コーディングの目標を明確にする必要があります。これらの目標を発散的に解釈した2つの異なる答えがあります。 –