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

在R语言中从DD.MM.YYYY格式字符型日期提取年份生成新变量

R语言提取日期变量中的年份解决方案

你的代码存在两处问题:

  • 格式字符串错误:原日期格式为DD.MM.YYYY,但你写的format = "%d.%m,%Y"里,%m与%Y之间误用了逗号,应改为点号,即"%d.%m.%Y"
  • 仅将字符转成Date类型无法直接得到年份,需要额外提取年份部分

以下是两种可行的解决方法:

方法1:基础R实现

先将字符型日期转换为Date对象,再提取年份:

# 修正格式,转换为Date类型
data2$DatumZalozenia_date <- as.Date(data2$DatumZalozenia, format = "%d.%m.%Y")
# 提取字符型YYYY格式的年份
data2$RokZalozenia <- format(data2$DatumZalozenia_date, "%Y")
# 若需要数值型年份,可添加转换
data2$RokZalozenia_num <- as.integer(data2$RokZalozenia)

方法2:使用lubridate包(更简洁)

lubridate包对日期处理更直观,步骤如下:

# 首次使用需安装包
install.packages("lubridate")
# 加载包
library(lubridate)
# dmy()自动识别DD.MM.YYYY格式,直接提取年份
data2$RokZalozenia <- year(dmy(data2$DatumZalozenia))
# 如需字符型年份,转换即可
data2$RokZalozenia_char <- as.character(data2$RokZalozenia)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.03 08:01:00