【发布时间】:2018-11-22 06:34:36
【问题描述】:
我有一个超过 10 万行的大型日期框架。日期列包含多种格式的日期,例如"%m/%d/%Y"、"%Y-%m"、"%Y" 和"%Y-%m-%d"。我可以使用 parse_date_time() 从 lubridate 将这些全部转换为日期。
dates <- c("05/10/1983","8/17/2014","1953-12","1975","2001-06-17")
parse_date_time(dates, orders = c("%m/%d/%Y","%Y-%m","%Y","%Y-%m-%d"))
[1] "1983-05-10 UTC" "2014-08-17 UTC" "1953-12-01 UTC" "1975-01-01 UTC" "2001-06-17 UTC"
但是如您所见,这会将缺少日期的日期设置为月初,将缺少月份和日期的日期设置为年初。如何将它们分别设置为 15 日和 6 月 15 日?
【问题讨论】:
-
用
nchar看字符数好像不错。如果nchar(dates) == 4,粘贴"-06-15"。然后如果nchar < 8粘贴在"-15"上。也许做一个快速的gsub将所有/替换为-以获得稍微更统一的格式。