複数年にわたる1時間あたりの平均風速で満たされたデータセットがあります。「平均年」を作成したいと思います。この年では、1時間ごとに、複数年にわたるその時間の平均風速が計算されます。データセットを際限なくループせずにこれを行うにはどうすればよいですか?理想的には、データを1回ループして、各行について適切な月、日、および時間を抽出し、その行からの風速をデータフレーム内の適切な行に追加して、各月、日、および時間は収集されます。月、日、時間を抽出し、平均年のdata.frame全体をループして正しい行を見つけることなく、これを行うことは可能ですか?
いくつかのサンプルデータ:
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)
)
これを次のようなデータフレームに集約したいと思います。
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, ...)
)
そこから、平均などの計算を続けることができます。おそらくいくつかのコマンドを見落としていますが、このようなもの(擬似コード)の正しい構文は何でしょうか。
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]
}
またはそのようなもの。ヘルプをいただければ幸いです。