我有一个以
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
类型。
我很感谢你的帮助。
按照评论中的建议,您可以使用
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