2010-07-11 3 views
8

나는 stackoverflow를 처음 사용하고 R에 익숙하지 만 오랫동안 열심히 수색했으며 다음 질문에 대한 답을 찾을 수 없다.R에서 어떻게 시계열 (XTS 또는 ZOO)을 변경할 수 있습니까?

저는 시계열에 대한 온도 데이터 파일이 있습니다. 나는 CSV를 ZOO 객체로 가져 와서 XTS로 변환하고 있습니다. 원래 올바른 파일은 시간에 독서와 시간 반으로, 다음과 같습니다

>head(master1) 
         S_1 
2010-03-03 00:00:00 2.8520 
2010-03-03 00:30:00 2.6945 
2010-03-03 01:00:00 2.5685 
2010-03-03 01:30:00 2.3800 
2010-03-03 02:00:00 2.2225 
2010-03-03 02:30:00 2.0650 

그러나 일부의 시간 값이 약간 있습니다 - 23시 59분 0초하지 0시 0분 0초, 00 예 : 00:30:00 대신 29:00.

>head(master21) 
         S_21 
2010-03-04 23:59:00 -0.593 
2010-03-05 00:29:00 -0.908 
2010-03-05 00:59:00 -1.034 
2010-03-05 01:29:00 -1.223 
2010-03-05 01:59:00 -1.349 
2010-03-05 02:29:00 -1.538 

나는 분 차이가 내 분석을위한 중요하지 않다으로,이 시간 시리즈를 해결하기 원하고 나는 궁극적으로 파일을 병합 할, 각각의 시계열은 같은 타이밍을 가질 필요가있다.

"시계열을 1 분 앞으로 이동하지만 데이터 열을 변경하지 마십시오 (예 : S_21). 더 쉽게 변경하면 gsub()과 함께 행운이 있었으며 복잡한 정규 표현식을 사용하여 ZOO 또는 XTS로 변환하기 전에 데이터를 변경합니다. lag()diff()에 대한 내용을 읽었지만 시계열을 기준으로 데이터 값을 이동하는 것 같습니다. 내가 잘못하면 나를 수정하십시오.

도움말 이 문제를 해결하면 많은 도움이 될 것입니다.

답변

10

시도

index(master21) <- index(master21) + 60 # adds a minute 

시간 인덱스에 분이 추가됩니다. 그런 다음 merge()을 타임 스탬프 정렬로 사용할 수 있습니다.

더 일반적으로 zoo 패키지의 비 네트가 유용 할 것입니다.

관련 문제