Wie kann ich XTS zu data.frame ändern und Index in R behalten?
Ich habe eine XTS-timeseries in R das folgende format, und versuche zu tun, einige Bearbeitung, Untergruppen und neu arrangieren, bevor der Export als CSV für die Arbeit in einem anderen Programm.
head(master_1)
S_1
2010-03-03 00:00:00 2.8520
2010-03-03 00:30:00 2.6945
2010-03-03 01:00:00 2.5685
2010-03-03 01:30:00 2.3800
2010-03-03 02:00:00 2.2225
2010-03-03 02:30:00 2.0650
und
str(master_1)
An ‘xts’ object from 2010-03-03 to 2010-05-25 08:30:00 containing:
Data: num [1:4000, 1] 2.85 2.69 2.57 2.38 2.22 ...
- attr(*, "dimnames")=List of 2
..$ : NULL
..$ : chr "S_1"
Indexed by objects of class: [POSIXt,POSIXct] TZ:
Original class: 'zoo'
xts Attributes:
List of 1
$ dateFormat: chr "Date"
Und ich möchte zu konvertieren, das auf einem Daten.Rahmen, so kann ich es verändern, leichter und exportieren Sie dann zu einem anderen Programm. Allerdings, wenn ich test1 <- as.data.frame(master_1)
die test1 hat den Index (d.h. die Datums-und Zeitangaben) sichtbar,
head(test1)
S_1
2010-03-03 00:00:00 2.8520
2010-03-03 00:30:00 2.6945
2010-03-03 01:00:00 2.5685
2010-03-03 01:30:00 2.3800
2010-03-03 02:00:00 2.2225
2010-03-03 02:30:00 2.0650
Aber der Index nicht angezeigt wird,
str(test1)
'data.frame': 4000 obs. of 1 variable:
$ S_1: num 2.85 2.69 2.57 2.38 2.22 ...
Und schreiben Sie eine csv - write.csv(master_1, file="master_1.csv")
beinhaltet nicht die Zeit oder das Datum. Warum ist das so und wie kann ich das Daten - /Zeit-Daten als eine Spalte, so ist es in anderen R-Kommandos und ordnungsgemäß exportiert?
Vielen Dank für jede Hilfe.
InformationsquelleAutor der Frage phrozenpenguin | 2010-08-02
Du musst angemeldet sein, um einen Kommentar abzugeben.
Das ist, weil die Termine sind rownames in Ihren Daten.frame. Sie müssen, um Sie in einer separaten Spalte.
Versuchen Sie dies:
InformationsquelleAutor der Antwort Shane
Dies ist ein bisschen eine Seitenleiste, aber der
fortify(...)
Funktion im Paketggplot2
konvertiert eine Vielzahl von Objekten, um Daten-frames-geeignet für den Einsatz inggplot(...)
einschließlichxts
Objekte.Also, wenn Sie bereits mit
gggplot
dies ist eine einfache Möglichkeit, es zu tun. Beachten Sie, dass der index geht in eine Spalte mit dem NamenIndex
(Großbuchstabe "I").InformationsquelleAutor der Antwort jlhoward
Seit
1.9.6
können Sie konvertieren direkt von/zuxts
ohne index-Klasse. So einfach wie:Den index Hinzugefügt, als die erste Spalte in der Ergebnis
data.table
es behält indexDate
oderPOSIXct
Klassen.InformationsquelleAutor der Antwort jangorecki
Shane hat Recht. Sie könnten auf der Suche nach index(Ihre xts). Hier ist eine reproduzierbare Beispiel.
Dann sollten Sie in der Lage sein, um Sie einfach exportieren, um eine csv-Datei. Natürlich können Sie auch die Zeilen.
InformationsquelleAutor der Antwort Matt Bannert
Einer eleganten form zu ändern XTS zu Daten.Rahmen:
InformationsquelleAutor der Antwort Guto Xavier