2017-02-12 2 views
1

Ich habe einen Datenrahmen, der wie folgt alle 15 MinutenSchaffung stündlichen Intervallen in R

Count  Time 
    85  00:00:00 
    86  00:15:00 
    87  00:30:00 
    88  00:45:00 
    89  01:00:00 
    90  01:15:00 
    91  01:30:00 

Die Intervalle sind sieht, würde ich die Zeiten alle 60 Minuten aggregieren möchte und dann für jeden der durchschnittlichen Zählung nehmen Stunde. Idealerweise würde meine Ausgabe in einem Datenrahmen sein. Danke

EDIT: dies möglich sein kann, mit nur durchschnittlich alle vier Reihen zu nehmen? Wenn jemand weiß, wie das geht.

+0

@ Db endete ich die '-05 Extraktion bis: 00 ' und hoffe, dass hilft mit der Klarheit der Fragen – Amanda

Antwort

1

DATA

df = structure(list(Count = 85:91, Time = c("00:00:00", "00:15:00", 
"00:30:00", "00:45:00", "01:00:00", "01:15:00", "01:30:00"), 
    hour = c("00", "00", "00", "00", "01", "01", "01")), .Names = c("Count", 
"Time", "hour"), row.names = c(NA, -7L), class = "data.frame") 

zuerst die Stunde von Zeit extrahieren und sie als variable Gruppierung bedeuten Aggregat mit berechnen

df$hour = sapply(strsplit(df$Time,":"), function(x) x[1]) 
aggregate(df[,'Count'], list(df$hour), mean) 
# Group.1 x 
#1  00 86.5 
#2  01 90.0 
+0

danke für Ihre Eingabe. Das Beispiel, das ich oben verwendet habe, ist ein sehr kleiner Ausschnitt meines df. Ich habe bereits einen Datenrahmen namens 'df' mit' count' und 'time' Spalten und ich bin mir nicht sicher, wie man den ersten Teil des Codes (' df = structure (list ... ') in meinen Code – Amanda

+0

einfügt, wenn ich run this Ich erhalte diesen Fehler: 'Fehler in strsplit (df $ Time,": "): Nicht-Zeichen-Argument 'Weißt du, wie das zu beheben ist? – Amanda

+2

@Amanda -' df $ Time <- as.character (df $ Time) 'Deine 'Time'-Spalte ist ein Faktor, den ich vermute, und' strsplit' benötigt eine Zeichenkette, um zu funktionieren. – thelatemail

Verwandte Themen