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

R语言月/日/年格式字符串日期转换出现大量NA如何解决

问题核心原因

你用到的日期解析格式与实际字符串结构不匹配,才会出现大面积转换失败的情况。
你数据中date_mm_dd_yy列的字符串是月/日/四位年的结构,但你之前使用的dmy()函数、format = "%d/%m/%y"参数都是按照「日/月/两位年」的逻辑解析:

  • 当字符串中间的日期值超过12时,无法被识别为合法月份,就会返回NA
  • 小写%y只能识别两位年份,无法匹配你数据中的四位年份,也会导致解析失败

正确转换方案

方法1:base R原生方法

as.Date(Yes$date_mm_dd_yy, format = "%m/%d/%Y")
  • %m对应字符串第一部分的月份
  • %d对应字符串第二部分的日期
  • 大写%Y对应四位年份

方法2:lubridate包方法(无需手动指定格式,容错率更高)

# 未安装包先运行 install.packages("lubridate")
library(lubridate)
mdy(Yes$date_mm_dd_yy)

mdy()会自动识别「月/日/年」结构的日期字符串,不需要手动写格式参数,更不容易出错。

两种方法运行后都能正确转换所有10个日期,不会产生NA值。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 09:27:03