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

如何将字符串格式日期转换为数字格式?R语言技术问询

字符串日期转指定格式的解决方案

你的数据框df2中G列标注为<numeric>但实际存储的是日期字符串(比如" June 28 2021"),这是转换的第一个障碍。以下是直接在数据框上操作的简便方法,无需单独存列到变量:

方法1:Base R 原生处理

# 先将G列转为字符类型(因为当前标注为numeric但实际是字符串)
df2$G <- as.character(df2$G)
# 解析为Date对象,指定输入格式(%b匹配月份缩写,%d是日期,%Y是4位年份,开头空格要匹配)
df2$G <- as.Date(df2$G, format = " %b %d %Y")
# 格式化为目标的"MM/DD/YY"字符串格式
df2$G <- format(df2$G, format = "%m/%d/%y")

方法2:用lubridate包简化操作

lubridate的mdy()函数能自动识别"月份 日期 年份"格式,无需手动指定输入格式:

library(lubridate)

# 转字符类型
df2$G <- as.character(df2$G)
# 解析为日期对象
df2$G <- mdy(df2$G)
# 格式化为目标字符串格式
df2$G <- format(df2$G, "%m/%d/%y")

关键说明

  • 你之前用as.Date.numeric()是错误的,因为G列本质是字符串(只是类型标记错误),必须先转字符类型再解析日期。
  • 两种方法都直接在原数据框上修改G列,比单独存变量更高效。
  • mdy()会自动忽略字符串开头的空格,无需额外处理。

处理后G列会变成你期望的"06/28/21"格式,其他列保持不变。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 22:40:30