Calculando médias por hora a partir de uma série temporal de vários anos

Eu tenho um conjunto de dados preenchido com a velocidade média do vento por hora durante vários anos. Eu gostaria de criar um 'ano médio', no qual, para cada hora, a velocidade média do vento para aquela hora ao longo de vários anos é calculada. Como posso fazer isso sem loop infinitamente através do conjunto de dados? Idealmente, gostaria de percorrer os dados uma vez, extraindo para cada linha o mês, dia e hora corretos e adicionando a velocidade do vento daquela linha à linha direita em um dataframe onde os agregados de cada mês, dia e hora estão reunidas. É possível fazer isso sem extrair o mês, o dia e a hora e, em seguida, fazer o loop do data.frame completo do ano médio para encontrar a linha correta?

Alguns dados de exemplo:

<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 eu gostaria de agregar em um dataframe 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>

De lá, eu posso continuar calculando as médias, etc. Eu provavelmente esqueci de algum comando, mas qual seria a sintaxe certa para algo assim (em 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>

Ou algo assim. Ajuda é apreciada!

questionAnswers(3)

yourAnswerToTheQuestion