R: Pourquoi un objet XTS devient un objet zoo après avoir appelé à transformer ()?

StackOverflow https://stackoverflow.com/questions/9332045

  •  27-10-2019
  •  | 
  •  

Question

Transform () supprime le qualificatif classe "XTS" de mes XTS objet:

> class(myxts)
[1] "xts" "zoo"
> myxts = transform(myxts, ABC = 1)
> class(myxts)
[1] "zoo"

Pourquoi est-ce?

Était-ce utile?

La solution

Il n'y a pas de méthode XTS pour transform, la méthode de zoo est envoyé. La méthode de zoo crée explicitement un nouvel objet zoo.

> zoo:::transform.zoo
function (`_data`, ...) 
{
    if (is.null(dim(coredata(`_data`)))) 
        warning("transform() is only useful for matrix-based zoo series")
    zoo(transform.data.frame(data.frame(coredata(`_data`)), ...), 
        index(`_data`), attr(`_data`, "frequency"))
}
<environment: namespace:zoo>

vous pouvez simplement envelopper vos appels transform à as.xts, ou votre exemple pourrait être écrit myxts$ABC <- 1.

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