如何用R计算15分钟间隔气象数据的日最高、最低及平均温度?
在R中从15分钟气象数据计算日度温度指标
你的数据已经将时间戳转换为日期格式(as.Date(df$date)),接下来可以通过分组聚合快速计算日最低、最高和平均温度,以下是两种常用实现方法:
方法一:基础R(Base R)
使用aggregate()函数按日期分组,对温度列同时应用多个统计函数:
# 计算日度温度指标 daily_temp <- aggregate(temperature ~ date, data = df, FUN = function(x) c( min_temp = min(x), max_temp = max(x), avg_temp = mean(x) )) # 将嵌套结果展开为常规数据框(可选,让列更易读) daily_temp <- do.call(data.frame, daily_temp)
方法二:Tidyverse工具集(dplyr)
如果习惯使用tidy风格的代码,用dplyr的分组汇总逻辑更直观:
首先确保安装并加载依赖包:
# 首次使用时安装包 install.packages("dplyr") # 加载包 library(dplyr)
然后执行分组计算:
daily_temp <- df %>% group_by(date) %>% summarize( min_temp = min(temperature, na.rm = TRUE), # na.rm=TRUE处理可能的缺失值 max_temp = max(temperature, na.rm = TRUE), avg_temp = mean(temperature, na.rm = TRUE) ) %>% ungroup() # 取消分组(可选)
补充说明
- 两种方法最终都会生成按日期分组的结果,包含
date(日期)、min_temp(日最低温)、max_temp(日最高温)、avg_temp(日平均温)四列。 - 如果原始数据存在缺失温度值,建议在统计函数中添加
na.rm = TRUE,避免结果出现NA。
内容的提问来源于stack exchange,提问作者Ahsk
相关产品推荐
相关产品推荐

