Ich habe Daten von der folgenden Form:, wie Daten zwischen fester Zeit an aufeinanderfolgenden Tagen der Teilmenge, für mehrere Monate von Daten
DateTime | Var1
11/01/2016 06:01 | 0
11/01/2016 06:02 | 0.70
...
...
11/01/2016 23:59 | 35.08
11/02/2016 00:01 | 33.29
...
11/02/2016 06:00 | 24.62
...
11/30/2016 23:59 | 42.08
12/01/2016 00:01 | 39.79
....
Ich habe ca. 5 Monate Daten. Ich muss die Daten von 6:00 Uhr am ersten Tag bis kurz vor 6:00 Uhr am nächsten Tag unterteilen. Ich kann den folgenden Code verwenden, um die Daten zu unterteilen, sobald ich die Daten in der Hand habe, aber wie man automatisch alle aufeinanderfolgenden Daten aus den Eingabedaten erhält?
Date1 <- as.integer(as.POSIXct(Date1))
Date2 <- as.integer(as.POSIXct(Date2))
subset <- subset(data, as.integer(as.POSIXct(data$txtime)) >= Date1 & as.integer(as.POSIXct(data$txtime)) < Date2)
Gerade jetzt, kann ich folgenden Code verwenden, um aufeinanderfolgende Tage, innerhalb eines Monats zu erhalten, aber dies wird für den letzten Tag des Monats nicht, wo ein Teil der Daten subsetted werden soll, auf dem ersten Tag des nächsten Monats. Also kann ich es nicht automatisch für die Dauer 6:00 am 30. November - 5:59 am 1. Dezember machen. Außerdem ist der Code nicht vollständig automatisiert, da die Anzahl der Tage (die in der Schleife verwendet werden) über Monate variiert.
for (dateofmonth in c(1:29)) {
Date1 <- paste("2016-11-", dateofmonth, ' 06:00:00', sep = '')
Date2 <- paste("2016-11-", (dateofmonth+1), ' 06:00:00', sep = '')
}
Es gibt möglicherweise einen einfacheren Weg, dies zu tun, aber ich kann es nicht herausfinden. Bitte vorschlagen.
Gibt es eine Möglichkeit, es in Datenrahmen zu unterteilen? Ich möchte nach der Teilmenge Berechnungen für die Daten ausführen, und ein Datenrahmen könnte nützlicher sein. – Sree
Jedes Element des Ergebnisses "datelist" ist ein Teilmengen-Datenrahmen. Sie können Berechnungen für bestimmte Teilmengen ausführen oder auf alle Teilmengen anwenden, indem Sie 'lapply' verwenden. – Feng