2013-05-18 5 views
1

R을 사용하여 Arima를 수행하는 for 루프를 실행 중입니다. My for 루프가 p, d, q 값을 변경합니다. & arima & 데이터 프레임에 p-d-q 값을 저장하십시오. 하지만이 과정에서 일부 p-d-q 값이 오류 & for for loop가 중지되고 있습니다. 전체 for 루프를 완료하지 않고 중간 for 루프를 중지하지 않으려합니다. for 루프를 방해하지 않을 수 있습니까? & 오류를 제외하고 모든 p-d-q 값을 저장합니까?에서 오류 처리 R

+0

, 당신은이 질문을보고 할 수 있습니다 낚시를하지 않는 것을 확인 : //stackoverflow.com/questions/2622777/exception-handling-in-r – Frank

답변

3

당신은 try을 찾고 있습니다. (또는 altenatively, 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 :

마지막으로, 당신이 단지 http://xkcd.com/882/ (내가 사용하는 한 모든입니다) 제안 try` 리카르도`똑 바른 게다가

+0

답장을 보내 주셔서 감사합니다. Ricardo. 내가 제안한 것을 수정 한 후 다음 코드를 사용하고 있습니다. –

+0

코드는 https://skydrive.live.com/#cid=FF431A41D367C7D9&id=FF431A41D367C7D9%21105에서 구할 수 있습니다. 여전히 다음 오류를 사용 중입니다. 오류 $ aic : $ operator 오류 원자 메시지에 대해 유효하지 않습니다. 경고 메시지 : 1 : 로그에서 (s2) : 생성 된 NaN 2 : 로그에서 (s2) : 생성 된 NaN 3 : 로그에서 (s2) : 생성 된 NaN 4 : 로그 (s2) : NaN 제작 오류 해결을 도와 주시겠습니까? –

+0

오류는'$'이'fit'과 함께 작동하지 않는다는 것을 알려줍니다. 나는 당신이 맞도록 뭔가를 잘못 지정하고 있다고 생각합니다. 코드를 살펴 보도록 요청하면 상대적으로 어려운 명령임을 이해하십시오. 그 대신 문제를 스스로 해결하려고 시도해보십시오. 특정 문제가 발생하면 문제의 섹션이나 라인으로 좁히고 구체적인 질문을합니다. –