Obliczanie średnich godzinowych z wieloletnich okresów

Mam zestaw danych wypełniony średnią prędkością wiatru na godzinę przez wiele lat. Chciałbym stworzyć „średni rok”, w którym dla każdej godziny obliczana jest średnia prędkość wiatru dla tej godziny przez wiele lat. Jak mogę to zrobić bez ciągłego zapętlania zestawu danych? W idealnej sytuacji chciałbym po prostu przejrzeć dane raz, wyodrębniając dla każdego wiersza odpowiedni miesiąc, dzień i godzinę oraz dodając prędkość wiatru z tego wiersza do prawego wiersza w ramce danych, gdzie agregaty dla każdego miesiąca, dnia i godzina jest zebrana. Czy można to zrobić bez wyodrębniania miesiąca, dnia i godziny, a następnie zapętlania kompletnych danych średniego roku. Ramka, aby znaleźć odpowiedni wiersz?

Niektóre przykładowe dane:

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

Które chciałbym agregować w ramce danych w następujący sposób:

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

Stamtąd mogę kontynuować obliczanie średnich itp. Prawdopodobnie przeoczyłem jakieś polecenie, ale jaka byłaby właściwa składnia dla czegoś takiego (w pseudokodzie):

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

Czy jakoś tak. Pomoc jest doceniana!

questionAnswers(3)

yourAnswerToTheQuestion