Ich habe diese Daten eingestellt, dass sie in 30-Minuten-Schritt aufgezeichnet:R - Aggregat 30-min Datenrahmen zu stündlichen Datenrahmen?
structure(list(Particles = c(0.596667, 0.27, 0.153333, 0, 0.753333,
0, 0.35, 0.506667, 1.6, 0.116667), PM = c(35.5158928571429, 16.0714285714286,
9.12696428571429, 0, 44.84125, 0, 20.8333333333333, 30.15875,
95.2380952380953, 6.94446428571429), timestamp = c(1493310389147,
1493310419191, 1493310449254, 1493310479270, 1493310509313, 1493310539387,
1493310569416, 1493310599465, 1493310629525, 1502378711339),
date = structure(c(1493310389.147, 1493310419.191, 1493310449.254,
1493310479.27, 1493310509.313, 1493310539.387, 1493310569.416,
1493310599.465, 1493310629.525, 1502378711.339), class = c("POSIXct",
"POSIXt"), tzone = "UTC-1"), site = c("ABC", "ABC",
"ABC", "ABC", "ABC", "ABC",
"ABC", "ABC", "ABC", "ABC"
), code = c("ABC", "ABC", "ABC",
"ABC", "ABC", "ABC", "ABC",
"ABC", "ABC", "ABC"), key_date = c("2017-04-27",
"2017-04-27", "2017-04-27", "2017-04-27", "2017-04-27", "2017-04-27",
"2017-04-27", "2017-04-27", "2017-04-27", "2017-08-10")), .Names = c("Particles",
"PM", "timestamp", "date", "site", "code", "key_date"), row.names = c(NA,
10L), class = "data.frame")
Wie kann ich es stündlichen Schritt aggregieren? Meine Spalten variieren von einem Datenrahmen zum anderen, so dass ich eine Möglichkeit brauche, sie zu aggregieren, damit sie auch auf andere Datenrahmen angewendet werden kann.
EDIT:
Ich versuchte es mit:
res <- aggregate(Df['PM'], list(date = cut(as.POSIXct(Df$date), "1 hour")), sum)
Aber dies nur lässt mich zwei Spalten, der Rest weg. Wie kann ich halten sie halten?
Wie wäre es mit 'cut' dh' df1 %>% group_by (Stunde = Schnitt (Datum, Pausen = "Stunde"))%>% Zusammenfassung (PM = Summe (PM)) ' – akrun
@akrun Wie mache ich das? Ich bekomme diesen Fehler 'Warnung: Fehler in%>%: konnte die Funktion"%>% "nicht finden' ' – laukok
Ich nahm an, dass du' library (dplyr); df1%>% group_by (.. ' – akrun