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

R语言中字符格式日期转Date格式后出现NA值的问题

问题解决:日期转换后全部变为NA

问题原因

你的原始日期字符串格式是YYYY-MM-DD(例如"1989-02-20"),但你使用的format = "%d/%m/%Y"对应的是日/月/年(比如"20/02/1989")的格式,两者完全不匹配,导致as.Date无法解析,最终返回全部NA。

解决方案

有两种简单的解决方式:

  • 方式一:利用默认解析规则
    as.Date默认支持YYYY-MM-DD这种ISO标准日期格式,直接调用无需指定format:
days_of_N$Begin_N <- as.Date(days_of_N$Begin_N)
  • 方式二:显式匹配正确格式
    如果需要明确指定format,要对应原始字符串的年-月-日结构,使用%Y-%m-%d:
days_of_N$Begin_N <- as.Date(days_of_N$Begin_N, format = "%Y-%m-%d")

验证示例

用你提供的测试数据验证:

test_dates <- c("1989-02-20", "1989-02-22", "1989-02-25", "1989-03-08", "1989-03-11", "1989-03-21")
# 执行转换
converted_dates <- as.Date(test_dates)
# 输出结果
converted_dates
# [1] "1989-02-20" "1989-02-22" "1989-02-25" "1989-03-08" "1989-03-11" "1989-03-21"

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.23 14:07:09