2011-12-07 3 views
1

R에 두 xts 시계열이 있고 서로 가장 가까운 시간에 시계열 값 간의 차이를 계산하려고합니다.값이 서로 다른 시간에있을 때 두 xts 시계열의 차이를 계산하십시오.

  • 13:00 12시 59분
  • :

    [1] (10/10/05 13:00:00) (10/10/05 14:00:00) (10/10/05 14:23:00) 
    

    [1] (10/10/05 12:38:00) (10/10/05 12:53:00) (10/10/05 12:59:00) (10/10/05 13:08:00) (10/10/05 13:23:00) 
    [6] (10/10/05 13:38:00) (10/10/05 13:53:00) (10/10/05 14:23:00) (10/10/05 15:05:00) (10/10/05 15:11:00) 
    

    내가에서 값의 차이를 계산하려면 : 그건 내 두 개의 인덱스가있는 경우이며,
  • 14:00 및 13:53
  • 14:30 및 14:23

어떻게해야합니까? 표준 merge 메서드 zoo에서 all=FALSE은 인덱스가 제대로 병합되기 위해 인덱스가 정확히 같아야하므로 원하는대로 수행되지 않습니다.

아이디어가 있으십니까?

답변

1

재현 가능한 예제를 제공하지 않으므로 구체적인 해결책을 드릴 수 없습니다. 일반적으로 align.time을 사용하여 각 개체의 인덱스 값을 비슷한 주기로 변경하거나 na.locf을 병합하여 누락 된 값을 채울 수 있습니다. 그런 다음 두 시리즈간에 원하는 작업을 수행 할 수 있습니다.

+0

응답 해 주셔서 감사합니다. 나는'align.time'을 사용해 보았습니다.하지만 다른 배열의 시간에 맞춰야하는 반면 (즉, 매시간 정렬하려면'60 * 60'과 같이) 정렬하는 데 몇 초가 걸리는 것처럼 보입니다. 'na.locf'는 유용하게 보입니다.하지만 가장 가까운 관찰을 원한다면 (예 : 13:00에 값을 원하면 마지막 관찰은 12:30이고 다음 관찰은 13:01 값은 13시 01 분 값을 원함). 그것을 할 방법이 있습니까? – robintw

+0

나는 그것에 대해 생각해야 할 것이다. 나는 비슷한 질문을하는 사람을 기억하는 것 같지만, 그것이 SO 또는 R-SIG-Finance에 있었는지 기억할 수 없다. 작은 예제 데이터 세트와 원하는 출력이 실제로 도움이됩니다. –

0

나는 이런 식으로 생각하고있다 : 첫 번째 시리즈의 각 멤버에 대해, 두 번째 시리즈에 시간 인덱스에 따라 삽입 한 다음 삽입 된 첫 번째 시리즈 멤버와 그 인덱스의 절대 차이를 계산한다. 인덱스 사이의 절대 차가 가장 작은 값들 사이의 대응하는 차이를 취하는 선행 및 후속의 제 2 시리즈 멤버들.