Frage

Ich habe drei Vektoren in einem xts R Objekt. Rufen Sie sie V1, V2, V3. Nach der Zusammenführung ist die Reihenfolge von links nach rechts, sie V2, V3, V1. Wie kann ich sie neu ordnen, damit sie gelesen werden (von links nach rechts) als V1, V2, V3?

War es hilfreich?

Lösung

Sie können nur die Spalten verweisen und neu ordnen sie:

 x <- x[,c(2,3,1)]

Hier ist ein funktionierendes Beispiel:

> data(sample_matrix)
> x <- head(as.xts(sample_matrix, descr='my new xts object'))[,c(1,2,3)]
> x
               Open     High      Low
2007-01-02 50.03978 50.11778 49.95041
2007-01-03 50.23050 50.42188 50.23050
2007-01-04 50.42096 50.42096 50.26414
2007-01-05 50.37347 50.37347 50.22103
2007-01-06 50.24433 50.24433 50.11121
2007-01-07 50.13211 50.21561 49.99185
> x <- x[,c(2,3,1)]
> x
               High      Low     Open
2007-01-02 50.11778 49.95041 50.03978
2007-01-03 50.42188 50.23050 50.23050
2007-01-04 50.42096 50.26414 50.42096
2007-01-05 50.37347 50.22103 50.37347
2007-01-06 50.24433 50.11121 50.24433
2007-01-07 50.21561 49.99185 50.13211

Andere Tipps

Es ist erwähnenswert, dass, während Sie sind können Sie die Spalten mit Namen referenzieren neue Objekte und Spalten zu erzeugen, ala

xts.object$V1plusV2 <- xts.object[, "V1"] + xts.object[, V2"] ,

Sie können die Spalten über Namen neu anordnen. Im Folgenden ist nicht erlaubt

xts.reordered <- xts.object[, c("V3, V2, V1")] .

Stattdessen wie Shane wies darauf hin, müßten Sie die Spalten von Nummer verweisen.

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