如何按年份分组计算平均温度?(基于dplyr实现)
用dplyr实现年份温度平均值计算
你之前的问题出在用了mutate而不是summarise——mutate会给每一行添加计算结果,不会合并重复年份;而summarise才会对每个分组(年份)聚合出单行结果。
假设你的数据框叫DataSet,年份列是year,温度列是temperature,正确代码如下:
library(dplyr) # 分组并计算年均温 Data <- DataSet %>% group_by(year) %>% summarise(avg_temperature = mean(temperature, na.rm = TRUE))
- 关键说明:
group_by(year):按年份列分组,把同一年的所有行归为一组summarise(avg_temperature = mean(temperature, na.rm = TRUE)):对每个分组计算温度平均值,na.rm = TRUE用于忽略温度列中的缺失值,避免结果返回NA- 运行后
Data会生成仅包含年份和对应年均温的新数据框,每个年份仅出现一次
如果你的年份列不是year,把代码里的year替换成你实际的列名(比如你之前写的XYZ)即可。
内容的提问来源于stack exchange,提问作者frankie122
相关产品推荐
相关产品推荐

