R: Warum wird ein xts-Objekt nach dem Aufruf von transform () zu einem Zoo-Objekt?

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

  •  27-10-2019
  •  | 
  •  

Frage

transform () entfernt das Qualifikationsmerkmal der Klasse "xts" aus meinem xts-Objekt:

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

Warum ist das so?

War es hilfreich?

Lösung

Es gibt keine xts-Methode für transform, daher wird die zoo-Methode ausgeliefert.Die Zoo-Methode erstellt explizit ein neues Zoo-Objekt.

> 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>

Sie können Ihre transform-Aufrufe einfach in as.xts einschließen oder Ihr Beispiel als myxts$ABC <- 1 schreiben.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top