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

R语言group_by分组求最小日期返回NA的解决方法

问题原因

返回全NA的核心原因是日期解析的格式参数与实际数据格式不匹配:

  • 你的P_DATE字段存储的日期以斜杠/作为年月日分隔符,例如9/30/1984、1/31/1985
  • 原代码中as.Date()的format参数写为"%m.%d.%Y",指定的分隔符是英文点.,R无法按照这个规则识别日期,所有转换结果都为NA,最终聚合求最小值的结果自然全是NA。
修复方案

只需要把as.Date()里的格式字符串分隔符从.替换为/即可,修正后的代码如下:

avg <- rawdata %>%
  group_by(PROPNUM) %>%
  summarise(initial_date = min(as.Date(P_DATE, format = "%m/%d/%Y")))
结果说明

运行修正后的代码,会正确返回该井号(PROPNUM=49-005-27619)对应的最早日期1984-09-30,无NA值。

注:格式符%m本身可以自动识别1-9的个位数月份,不需要额外调整为其他格式符,只要分隔符匹配即可正常解析;P_DATE的因子类型也不会影响解析逻辑,无需提前转为字符型。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.29 05:42:15