我有一个数据集,其中填充了多年的平均每小时风速。我想创建一个“平均年”,其中每个小时计算该小时多年来的平均风速。如何在不循环遍历数据集的情况下做到这一点?理想情况下,我想只循环一次数据,为每一行提取正确的月份、日期和小时,并将该行的风速添加到数据框中的右行,其中每个月、天和小时聚集。是否可以在不提取月、日和小时的情况下执行此操作,然后遍历完整的平均年 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]
}
或类似的东西。帮助表示赞赏!