Вопрос

Я пытаюсь максимально использовать 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, и она должна просто работать, но ясно, что это не так.

В чем дело?

Спасибо за помощь.

Это было полезно?

Решение

Ты говоришь

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

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

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

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

Другие советы

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top