Cálculo de promedios por hora de una serie temporal de varios años

Tengo un conjunto de datos con la velocidad del viento promedio por hora durante varios años. Me gustaría crear un 'año promedio', en el que para cada hora se calcule la velocidad del viento promedio para esa hora a lo largo de varios años. ¿Cómo puedo hacer esto sin hacer un bucle sin fin a través del conjunto de datos? Idealmente, me gustaría simplemente recorrer los datos una vez, extrayendo para cada fila el mes, día y hora correctos, y agregando la velocidad del viento de esa fila a la fila derecha en un marco de datos donde los agregados de cada mes, día y hora se recogen. ¿Es posible hacer esto sin extraer el mes, el día y la hora, y luego hacer un bucle a lo largo del año completo promedio para obtener la fila correcta?

Algunos datos de ejemplo:

<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>

Que me gustaría agregar en un marco de datos como este:

<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>

A partir de ahí, puedo continuar calculando los promedios, etc. Probablemente haya pasado por alto algún comando, pero cuál sería la sintaxis correcta para algo como esto (en pseudocódigo):

<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>

O algo así. Se agradece la ayuda!

Respuestas a la pregunta(3)

Su respuesta a la pregunta