Question

Je suis en train d'utiliser XTS autant que possible dans mon travail de séries chronologiques comme il semble être le moyen suggéré de faire les choses. Cependant, j'obtenir une étrange erreur.

CPI.NSA et INT sont des objets 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

Il était je crois comprendre que chaque fois que j'ai une fonction qui prend zoo, je peux passer un XTS et il devrait fonctionner, mais il est clair que n'est pas le cas ici.

Qu'est-ce qui se passe?

Merci pour l'aide.

Était-ce utile?

La solution

Vous dites

  

Il a été je crois comprendre que chaque fois   J'ai une fonction qui prend zoo, je   peut transmettre un XTS et il devrait simplement   le travail, mais il est clair que ce n'est pas le cas   ici.

et je me demande si vous pensez que zoo et xts sont identiques. Ils ne sont pas - xts étend zoo de manière utile aux prix de limiter les types d'index à temps réel ou des objets la date (plutôt que des indices arbitraires comme pour zoo).

, dynlm est écrit par Achim Zeileis qui est l'un des auteurs de zoo que je ne vois pas pourquoi vous ne pouvez pas garder vos données en xts mais passe ensuite à zoo (via, par exemple, as.zoo(foo)) lors de l'appel fonctions dynlm.

Il n'y a pas de magie "baissés. Mais vous pouvez le faire à la main. Ce qui est ce que vous faites dans la première partie de votre question. Ok?

Autres conseils

la réponse simple est que le zoo et XTS ne sont pas complètement interchangeables, bien que parfois ils sont.

Ceci est un très bon exemple d'un moment où ils ne sont pas interchangeables.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top