XTS проблема с Dynlm - PullRequest
       22

XTS проблема с Dynlm

0 голосов
/ 12 мая 2010

Я стараюсь использовать xts как можно больше в своей работе над временными рядами, так как это кажется рекомендуемым способом работы. Однако я получаю странную ошибку.

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 ]

2 голосов
/ 12 мая 2010

Вы говорите

Насколько я понимаю, всякий раз, когда У меня есть функция, которая принимает зоопарк, я может передать его XTS, и он должен просто работать, но ясно, что это не так здесь.

и мне интересно, думаете ли вы, что zoo и xts идентичны. Они не - xts расширяют zoo полезными способами по ценам, ограничивающим типы индексов фактическими объектами времени или даты (а не произвольными индексами, как для zoo).

Теперь, dynlm написано Ахимом Цейлейсом, одним из авторов zoo, поскольку я не понимаю, почему вы не можете хранить свои данные в xts, но затем переходите к zoo (через Например, as.zoo(foo)) при вызове функций dynlm.

Волшебства «уныние» не существует. Но вы можете сделать это вручную. Что вы делаете в первой части вашего вопроса. Хорошо?

1 голос
/ 12 мая 2010

простой ответ заключается в том, что zoo и xts не являются полностью взаимозаменяемыми, хотя иногда они есть.

Это действительно хороший пример того времени, когда они не являются взаимозаменяемыми.

...