2011-12-21 3 views
3

여러 개의 시계열 (열, 공통 날짜 열 (색인)이있는 xts 개체를 나눕니다. 각 (예 : '2010-09-30')이 값은 해당 날짜의 각 열에 1의 값으로 전체 개체의 비율을 다시 조정하기위한 것입니다 (일반적인 다시 기본 작업). '난 그냥 xts 또는 zoo 시계열 개체의 각 행을 고정 행으로 나누기

t(t(A)/A[6,]) 

을 할 수있는 그 작동합니다. 단, XTS 개체를 조작하려고하고 행 집합 xts['2010-09-30'] 아무튼, 그것은 A를 일반 행렬이었다, 나는가 리베이스 싶어 행이 A[6,] 말을이었다 누군가 조종석에서 나를 가리켜 주시겠습니까? ht 방향. 나는 이것이 아주 기본적인 것임을 깨달았고 나는 그 대답을 스스로 찾아야했다. 실제로 패키지를 사용하여 시계열을 리베이스하는 더 좋은 방법이 있다면, 나는이 방법을 채택하게되어 기쁩니다.

답변

2

xts 및 zoo 개체는 작업 전에 인덱스별로 정렬됩니다. 전체 객체를 단일 행의 값으로 나누려면 원자 벡터 (하나의 요소 만 사용)에 값을 가져 오려면 coredata (그리고 아마도 drop)을 사용해야합니다. 예를 들어

: 평소와 같이

library(xts) 
x <- xts(1:10,as.Date("2011-12-21")+1:10) 
x/drop(coredata(x['2011-12-26'])) 
+0

많은 감사 @Joshua. 나는 이것을 시도 할 것이다. BTW, 내 쿼리에 어제 그 데이터 병합 작업 quantmod를 사용하여 어떤 제안? 그것이 진짜 문제라면, 나는 다른 방향을 들여다 볼 것입니다 .... 나는 단지 내 부분에 초심자 오류가 아닌지 확인하고 싶습니다. ... – Tatha

+0

절대적으로 효과가있었습니다! 다시 한번 감사드립니다. 나는 최근에 많이 coredata를 사용했다 .... 어떻게 잊어 버렸는지 모르겠다. :) – Tatha