Ich habe einen Datensatz mit einer sehr einfachen logdateiähnlichen Struktur. Ich möchte die Daten nach Datumsbereichen unterteilen, kann dies jedoch nur für einen Parameter tun.
Meine Daten sehen so aus:
date_time loc_id node energy kgco2
1 2009-02-27 00:11:08 87 103 0.00000 0.00000
2 2009-02-27 01:05:05 87 103 7.00000 3.75900
3 2009-02-27 02:05:05 87 103 6.40039 3.43701
4 2009-02-27 03:05:05 87 103 4.79883 2.57697
5 2009-02-27 04:05:05 87 103 4.10156 2.20254
6 2009-02-27 05:05:05 87 103 2.59961 1.39599
Die Datei enthält Daten für ein ganzes Jahr. Ich möchte zusammenfassende Diagramme für jeden Monat und vielleicht jede Woche erstellen
Ich verarbeite die date_time wie folgt:
> dt <-as.POSIXlt(ae$date_time)
> ae$dt <- dt
> names(ae$dt)
[1] "sec" "min" "hour" "mday" "mon" "year" "wday" "yday" "isdst"
Jetzt versuche ich, die Daten wie folgt zu unterteilen:
> x <- ae$energy[ae$dt$year=="110" & ae$dt$mon=="10"]
> x
numeric(0)
"110" ist wegen folgendem:
> range(ae$dt$year)
[1] 109 110
Ich habe auch folgendes ohne Glück versucht:
> d <- subset(ae, (dt$year=="110" & dt$mon=="10"), select=energy)
diese funktionieren jedoch:
> d <- subset(ae, dt$year=="110", select=energy)
und das auch
> d <- subset(ae, dt$mon=="10", select=energy)
Irgendwelche Ideen, wie ich durch Auswahl von Jahr und Monat Teilmengen erstellen kann?
Vielen Dank,
time-series
r
G Garcia
quelle
quelle
Antworten:
ok Zeitreihen scheinen den Trick getan zu haben:
quelle
Ein paar Punkte:
<=
und>=
zu unterteilen. Etwas wieae[ae$date >= as.POSIXlt("2009-10-01") & ae$date < as.POSIXlt("2009-11-01"),]
zoo
.xts
enthält auch eine Reihe von Funktionen, die bei solchen Dingen helfen können.quelle
zoo
. Es würde Ihre Aufgabe viel einfacher machen.xts
ist eher für Paketimplementierer gedacht, obwohl ich es direkt verwendet habe.