Berechnen von Daten.frame-Spalte Durchschnittswerte nach Datum

Ich habe einen Daten.frame in R, wo eine Spalte ist eine Liste von Terminen (viele Duplikate), während die andere Spalte ist eine Temperatur aufgezeichnet, auf dass Datum. Die Spalten in Frage, die wie folgt Aussehen (aber mehrere tausend Zeilen und ein paar andere unnötige cols):

Date    |    Temp
-----------------
1/2/13     34.4
1/2/13     36.4
1/2/13     34.3
1/4/13     45.6
1/4/13     33.5
1/5/13     45.2

Muss ich einen Weg finden, sich einen täglichen Mittelwert für die Temperatur. Also ideal, ich könnte sagen, R, um die Schleife durch die Daten.frame und für jedes Datum, das aufeinander abgestimmt ist, geben Sie mir einen Durchschnittswert für die Temperatur an diesem Tag. Ich habe schon gegoogelt und ich weiß, Schlaufen in R möglich sind, aber ich kann nicht umbrochen, mein Kopf herum diese konzeptionell gegeben, was wenig ich weiß, über R-code.

Ich weiß, ich kann das herausziehen einer einzelnen Spalte und die Durchschnittliche (d.h. mean(data.frame[[2]])), aber ich bin völlig verloren, wie Sie sagen, R, um zu entsprechen, dass bedeutet, dass, um einen einzigen Wert in der ersten Spalte.

Außerdem, wie könnte ich generieren, im Durchschnitt alle sieben Kalendertage (unabhängig davon, wie viele Einträge vorhanden sind, für einen einzigen Tag)? So, ein sieben Tage-Durchschnitt, d.h. wenn mein date Angebot beginnt am 1/1/13 ich würde einen Durchschnitt für alle temps zwischen 1/1/13 und 1/7/13, und dann zwischen 1/8/13 und 1/15/13 und so weiter...

Jede Hilfe hilft mir begreifen, R-loops ist sehr geschätzt. Danke!!!

BEARBEITEN

Hier ist die Ausgabe von dput(head(my.dataframe)) BITTE BEACHTEN Sie: ich bearbeitet, die sich beide "Datum" und "timestamp", weil Sie beide gehen für mehrere tausend Einträge ansonsten:

structure(list(RECID = 579:584, SITEID = c(101L, 101L, 101L, 
101L, 101L, 101L), MONTH = c(6L, 6L, 6L, 6L, 6L, 6L), DAY = c(7L, 
7L, 7L, 7L, 7L, 7L), DATE = structure(c(34L, 34L, 34L, 34L, 34L, 
34L), .Label = c("10/1/2013", "10/10/2013", "10/11/2013", "10/12/2013", 
"10/2/2013", "10/3/2013", "10/4/2013", "10/5/2013", "10/6/2013", 
"10/7/2013", "10/8/2013", "10/9/2013", "6/10/2013", "6/11/2013","9/9/2013"), class = "factor"), TIMESTAMP = structure(784:789, .Label = c("10/1/2013 0:00", 
"10/1/2013 1:00", "10/1/2013 10:00", "10/1/2013 11:00", "10/1/2013 12:00", 
"10/1/2013 13:00", "10/1/2013 14:00", "10/1/2013 15:00", "10/1/2013 16:00", 
"10/1/2013 17:00", "10/1/2013 18:00", "10/1/2013 19:00", "10/1/2013 2:00"), class = "factor"), TEMP = c(23.376, 23.376, 23.833, 24.146, 
24.219, 24.05), X.C = c(NA, NA, NA, NA, NA, NA)), .Names = c("RECID", 
"SITEID", "MONTH", "DAY", "DATE", "TIMESTAMP", "TEMP", "X.C"), row.names = c(NA, 
6L), class = "data.frame") 
  • Dass dput sieht nichts, wie die sample-Daten!
  • 'generieren der Durchschnitt für alle 7 Kalender-Tage': meinst du 'Durchschnitt-von-Woche-des-Jahres" , oder 'gleitenden 7-Tage-Durchschnitt'?
  • Beachten Sie auch, dass R ist case-sensitive. Date ist nicht das gleiche wie DATE.
  • Die Ausgabe von dput(head(my.dataframe), n=20) oder was auch immer ist in Ordnung.
  • Ich habe meine täglichen Durchschnitt, nachdem ich herausgefunden habe, die Kleinschreibung bit. 🙂 Ich bin jetzt nachdenken Durchschnitt... ich werde die Frage Bearbeiten, aber @smci, siehe mein Kommentar an Sie.
  • das ist eigentlich eine ganz andere Frage, aber mein Tipp steht: Blick auf die "xts" - Paket.

InformationsquelleAutor TheNovice | 2014-04-20
Schreibe einen Kommentar