You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何筛选降雨数据集多列数据并生成2019-2020年月度汇总结果

降水数据处理修正方案

原有代码问题

  • 未对quality字段做筛选,混入了无效观测数据,也未过滤2019、2020年的目标时间范围数据
  • 需求为计算月度降雨总量,但代码使用mean计算平均值,统计逻辑不符合要求
  • 日期字段为factor类型,直接拆分容易出现格式异常,日期处理方式冗余
  • 未实现2019、2020年对应月份的降雨量差值计算

修正后代码(兼容你原有的data.table写法)

library(data.table)
library(lubridate)

# 读取数据
data <- fread("rain_file.csv", header=TRUE, sep=",", fill=TRUE, quote="\"")

# 数据清洗:筛选有效记录、提取年月、过滤目标年份
data_clean <- data[quality == "Good", ]  # 保留quality为Good的有效记录
data_clean[, date := ymd(date)]  # 转为标准日期格式
data_clean[, `:=`(
  year = year(date),
  month = month(date)
)]
data_clean <- data_clean[year %in% c(2019, 2020), ]  # 仅保留2019、2020年的目标数据

# 计算月度降雨总量
m_rain_dt <- data_clean[, .(month_rain = sum(amount_rain, na.rm = TRUE)), by = .(year, month)]

# 转换为宽表计算两年对应月份差值
m_rain_wide <- dcast(m_rain_dt, month ~ year, value.var = "month_rain")
setnames(m_rain_wide, c("month", "2019_rain", "2020_rain"))
m_rain_wide[, diff_2020_2019 := `2020_rain` - `2019_rain`]

# 输出结果表格
print(m_rain_wide)

输出结果示例

月份2019年降雨量2020年降雨量2020年较2019年差值
122.319.7-2.6
238.145.27.1
372.668.9-3.7
............

内容的提问来源于stack exchange,提问作者Adel Jabbari

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 11:54:00