Berechnung von Stundendurchschnitten aus einer mehrjährigen Zeitreihe

Ich habe einen Datensatz mit der durchschnittlichen Windgeschwindigkeit pro Stunde für mehrere Jahre gefüllt. Ich möchte ein 'durchschnittliches Jahr' erstellen, in dem für jede Stunde die durchschnittliche Windgeschwindigkeit für diese Stunde über mehrere Jahre berechnet wird. Wie kann ich dies tun, ohne den Datensatz endlos zu durchlaufen? Im Idealfall möchte ich die Daten nur einmal durchlaufen, für jede Zeile den richtigen Monat, Tag und die richtige Stunde extrahieren und die Windgeschwindigkeit von dieser Zeile zur richtigen Zeile in einem Datenrahmen hinzufügen, in dem die Aggregate für jeden Monat, Tag und Stunde sind gesammelt. Ist es möglich, dies zu tun, ohne den Monat, den Tag und die Stunde zu extrahieren und dann den gesamten data.frame für das durchschnittliche Jahr zu durchlaufen, um die richtige Zeile zu finden?

Einige Beispieldaten:

<code>data.multipleyears <- data.frame(
 DATETIME = c("2001-01-01 01:00:00", "2001-05-03 09:00:00", "2007-01-01 01:00:00", "2008-02-29 12:00:00"),
 Windspeed = c(10, 5, 8, 3)
)
</code>

Was ich in einem Datenrahmen wie diesem zusammenfassen möchte:

<code>average.year <- data.frame(
 DATETIME = c("01-01 00:00:00", "01-01 01:00:00", ..., "12-31 23:00:00")
 Aggregate.Windspeed = (100, 80, ...)
)
</code>

Von dort aus kann ich die Durchschnittswerte usw. weiter berechnen. Ich habe wahrscheinlich einige Befehle übersehen, aber was wäre die richtige Syntax für so etwas (im Pseudocode):

<code> for(i in 1:nrow(data.multipleyears) {
  average.year$Aggregate.Windspeed[
   where average.year$DATETIME(month, day, hour) == data.multipleyears$DATETIME[i](month, day, hour)]  <- average.year$Aggregate.Windspeed + data.multipleyears$Windspeed[i]
 }
</code>

Oder sowas ähnliches. Hilfe wird geschätzt!

Antworten auf die Frage(3)

Ihre Antwort auf die Frage