2012-05-21 4 views
3

내가 뭘 잘못하고 있는지 확실하지 않습니다. R에서 다음 코드를 실행합니다.R, Hyndman 예측 패키지 및 quantmod 사용

require(quantmod) 
require(forecast) 
getSymbols('FAGIX', from='2001-01-06', to=Sys.Date()) 
y <-Ad(FAGIX) 
plot(forecast(y)) 

부분적으로 작동하지만 경고 메시지가 나타납니다. 또한 플롯은 더 이상 날짜를 표시하지 않습니다. 아마 여기에 간단한 해결책이 있지만 나는 그것을 보지 않을 것입니다.

경고 메시지 : if (class (y) == "data.frame"| 클래스 (y) == "list"| 클래스 (y) == : 조건의 길이가 1보다 길고 첫 번째 요소가 사용됩니다

답변

3

경고는 xts 개체의 클래스가 두 요소 문자 벡터 (c("xts","zoo"))이고 궁극적으로 호출되는 ets 함수가 암시 적으로 암시 적으로 전달 된 개체의 클래스가 단일 요소 클래스

이와 비슷한 것이 좀 더 강력 할 수 있습니다.

any(class(y) %in% c("data.frame","list","matrix","mts")) 

이 경우 경고는 무시해도됩니다. 테스트는 개체가 단 하나의 시간 변인인지 확인하기위한 것이므로이 경고는 무시해도됩니다.

+0

그러나 플롯에 더 이상 날짜가 표시되지 않습니다. "y"를 그려 보면 x 축에 날짜가 표시됩니다. 예측 (y)을 플롯하면 인덱스 번호 만 얻습니다. – user1408304

+1

'forecast (y)'는 xts 객체를 반환하지 않습니다. 'forecast (y)'의 출력으로부터 xts 객체를 생성하거나'plot.xts'를 직접 호출해야합니다. –