我每小时收集一个data.frame中的本地温度,其中包含3列和R中的多行(1000+):
日 - 小时 - 温度
我需要添加一个新列,其中包含每小时间隔内的平均温度。 在这个例子中:平均温度在11:00等于13ºC,在12:00等于15C,所以我需要:
日 - 小时 - 温度 - 平均值
我试过cbind,聚合但是我失败了。有什么想法吗?
答案 0 :(得分:0)
如果df
是您的data.frame,则以下内容可能有效:
avgTemp <- sapply(unique(df$Hour),function(x){mean(df$Temperature[df$Hour==x])})
names(avgTemp) <- unique(df$Hour)
df <- cbind(df,avgTemp[df$Hour])