2017-11-26 10 views
0

hts 패키지를 기반으로 예측을 만드는 중이지만 지금까지는 이상치와 누락 된 값에 대한 데이터를 정리해야합니다.여러 시계열을 사용하여 데이터 프레임에서 tsclean을 수행하는 방법

예상 패키지의 tsclean 기능을 사용하려고 생각했습니다. 내 데이터를 데이터 프레임에 여러 열 (시계열)로 저장하여 정리하고 싶습니다. 한 번만 세리가있을 때 작동 할 수있는 함수를 얻을 수 있지만 꽤 많은 일을하기 때문에 이것을 수행하는 현명한 방법을 찾고 있습니다. 나는이 오류 메시지가 얻을

SFA5 <- ts(SFA4, frequency=12, start=c(2012,1), end=c(2017,10)) 
ggt <- tsclean(SFA5[1:70, 1:94], replace.missing = TRUE) 

: 코드를 실행하는 경우

Error in na.interp(x, lambda = lambda) : The time series is not univariate. 

를 데이터는 여기에 있습니다 :

https://www.dropbox.com/s/dow2jpuv5unmtgd/Data1850.xlsx?dl=0 

내 질문은 : 내가 잘못 뭐하는 거지 또는 루프 시퀀스를 수행하는 유일한 솔루션입니다.

답변

1

오류 메시지는 함수가 첫 번째 인수로만 단 변량 시계열을 사용함을 나타냅니다. 따라서 각 열에 tsclean을 적용해야합니다.

library(forecast) 
ggt <- sapply(X = SFA5[1:70, 1:94], FUN = tsclean) 
+0

감사합니다. 나는 R에 매우 익숙하다. 그래서 나는 정말로 많은 "루핑"을하는 것을 도와 주었다 :-) –

+0

당신은 환영합니다. 이런 종류의 작업을 위해서 당신은'apply' 패밀리 [여기]에 대한 위대한 글을 읽고 싶을 수도 있습니다. (https://stackoverflow.com/questions/3505701/grouping-functions-tapply-by-aggregate-and-the- 가족 신청/7141669). 그리고'purrr' 패키지에서'map' 함수를 확인하십시오. – markus

+0

완벽 참조 해 주셔서 감사합니다. –

관련 문제