使用 r 中的 lubridate 从 dob 中提取年份

问题描述 投票:0回答:1

我有一个以

dob
作为变量之一的数据集,但
dob
中存储的数据不一致。数据框看起来像这样 -

    dob         
   <chr>             
 1 06 Jan 1933    
 2 06 Jan 1933     
 3 1939    
 4 1939     
 5 Jul 1935    
 6 Jul 1935         

我需要使用

dob_Year
的年份部分创建一个新变量
dob
。我使用
dmy
包中的
year
函数和
lubridate
函数,但我无法提取
 的年份部分dob
适用于所有行。请注意,
dob
现在是
character
类型。

我很感谢你的帮助。

r tidyverse lubridate
1个回答
0
投票

按照评论中的建议,您可以使用

parse_date_time
中的
lubridate
功能。您可以指定多种格式顺序来处理异构日期时间字符表示。

示例数据:

df <- data.frame(
  dob = c("06 Jan 1933", "1939", "Jul 1935")
)

使用

parse_date_time
- 请参阅此处以获取参考和格式:

library(lubridate)

year(parse_date_time(df$dob, c("dbY", "bY", "Y")))

输出

[1] 1933 1939 1935
© www.soinside.com 2019 - 2024. All rights reserved.