ich einen R Datenrahmen haben, df
, wie folgt aus:R aggregierte Daten in rund 10 Minuten
WIFIAPTag passengerCount timeStamp MAC
1 E1-1A-1<E1-1-01> 15 2016-09-10 18:55:04 5869.6c54.d040
750 E1-1A-1<E1-1-01> 14 2016-09-10 18:56:01 5869.6c54.d040
1499 E1-1A-1<E1-1-01> 18 2016-09-10 18:57:01 5869.6c54.d040
2248 E1-1A-1<E1-1-01> 17 2016-09-10 18:58:02 5869.6c54.d040
2997 E1-1A-1<E1-1-01> 17 2016-09-10 18:59:01 5869.6c54.d040
3746 E1-1A-1<E1-1-01> 14 2016-09-10 19:00:01 5869.6c54.d040
3746 E1-1A-1<E1-1-01> 1 2016-09-10 19:05:01 5869.6c54.d040
Jetzt habe ich diese Datenrahmen alle 10 Minuten aggregieren möchten, wie folgt aus:
WIFIAPTag passengerCount timeStamp MAC
1 E1-1A-1<E1-1-01> 81 2016-09-10 18:50:00 5869.6c54.d040
2 E1-1A-1<E1-1-01> 15 2016-09-10 19:00:00 5869.6c54.d040
I mit aggregate
und cut
in R wie folgt aus:
output <- aggregate(passengerCount ~ cut(timeStamp, breaks = "10 mins"), df, sum)
Aber ich kann nur erhalten die Daten ab 2016-09-10 18:55:00
:
output
WIFIAPTag timeStamp passengerCount
1 E1-1A-1<E1-1-01> 2016-09-10 18:55:00 95
2 E1-1A-1<E1-1-01> 2016-09-10 19:05:00 1
Wie kann ich die Ausgabe Start von 2016-09-10 18:50:00
machen?
wenn Sie bricht einen Wert wie '„10 Minuten“geben' es wird das Intervall in das unter Verwendung des ersten und des letzten Datums partitionieren. Wählen Sie stattdessen explizit Ihre Pausen: 'seq.POSIXt (as.POSIXct ('2016-09-10 18:50:00'), as.POSIXct ('2016-09-10 23:50:00'), von = 600) 'zum Beispiel – Shape
Es hat funktioniert! Wie wäre es mit der Antwort unten, damit ich es akzeptieren kann? – jjdblast