2010-05-12 2 views
0

가능한 한 xts를 내 시계열 작업에서 사용하려고합니다. 일을하는 방법이 제안 된 것처럼 보입니다. 그러나, 나는 이상한 오류가 발생했습니다.xts dynlm 문제

CPI.NSA 및 INT는 xts 개체입니다.

library(dynlm) 
CPI.NSA.x <- CPI.NSA[dr1] 
INT.x <- INT[dr1] 

CPI.NSA.z <- as.zoo(CPI.NSA.x) 
INT.z <- as.zoo(INT.x) 

> dynlm(CPI.NSA.z ~ INT.z + L(CPI.NSA.z, 1)) 

Time series regression with "zoo" data: 
Start = 1953-02-01, End = 1971-06-01 

Call: 
dynlm(formula = CPI.NSA.z ~ INT.z + L(CPI.NSA.z, 1)) 

Coefficients: 
    (Intercept)   INT.z L(CPI.NSA.z, 1) 
    -0.0006795  1.0440174  -0.0869050 


> dynlm(CPI.NSA.x ~ INT.x + L(CPI.NSA.x, 1)) 
Error in `[.xts`(a, match0(indexes, attr(a, "index")), , drop = FALSE) : 
    i is out of range 

은 내가 동물원을받는 함수있을 때마다, 내가 XTS 전달할 수 있으며, 그냥 작동해야하지만 명확하게 여기 경우가 아니라 나의 이해이었다.

무슨 일 이니?

도움 주셔서 감사합니다.

답변

2

당신은 그것은 내가 동물원을받는 함수있을 때마다, 나는 이에게 XTS를 전달할 수 있으며, 단지 작업을해야하지만, 나의 이해는 명확하게 여기 경우 없는 한

말 .

zooxts이 동일하다고 생각하는 경우 궁금합니다. 그들은 xtszoo에 대한 임의의 인덱스가 아닌 실제 시간 또는 날짜 오브젝트로 인덱스 유형을 제한하는 가격으로 유용한 방}으로 확장합니다. 난 당신이 xts에 데이터를 보존 할 수없는 이유를 참조하지만 zoo에 통과하지 않는

이제 dynlm는 호출 할 때 (을 통해 예를 들어, as.zoo(foo)는) zoo의 저자 중 하나 인 아킴 Zeileis에 의해 작성된 것입니다 dynlm 함수입니다.

'다운 캐스트'가 없습니다. 그러나 당신은 그것을 손으로 할 수 있습니다. 당신 질문의 첫 부분에서 당신이하고있는 것은 무엇입니까. 승인?

+0

설명이 필요합니다. 그건 의미가 있습니다. 나는 그들이 동일하다고 생각하지는 않았지만, 상호 교환 될 수 있는지 또는 교환 될 수 있는지에 대해서는 분명하지 않았습니다. – stevejb

1

간단한 대답은 동물원과 xts가 완전히 교환 할 수 없다는 것입니다.

이것은 교환 할 수없는 시간의 정말 좋은 예입니다.