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

如何将R语言中dd/mm/yyyy格式的字符型birthdate转为日期类型?

解决R语言中dd/mm/yyyy格式字符转日期的问题

你的问题主要有两个原因:

  1. as.Date()默认解析格式是yyyy-mm-dd,直接传入dd/mm/yyyy的字符串会导致日期识别错误,比如把21/12/1948误识别为年份21、月份12、日期19;
  2. 代码里存在变量名拼写错误:birhtdate应该是birthdate,这会导致R找不到目标变量。

正确的转换方法

直接使用as.Date()并指定对应格式即可:

# 修正变量名并指定日期格式
x$birthdate <- as.Date(x$birthdate, format = "%d/%m/%Y")

格式符说明:

  • %d:两位数字的日期(如21)
  • %m:两位数字的月份(如12)
  • %Y:四位数字的年份(如1948)

更便捷的日期处理(可选)

如果需要后续计算年龄,推荐使用lubridate包,它能自动识别日/月/年格式:

# 首次使用先安装包
install.packages("lubridate")
library(lubridate)

# 一键转换日期格式
x$birthdate <- dmy(x$birthdate)

# 计算精确年龄(考虑当年生日是否已过)
x$age <- interval(x$birthdate, today()) %/% years(1)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.05 19:31:07