【发布时间】:2019-10-05 20:41:12
【问题描述】:
我正在格式化包含记录日期的一列。在列中有多种日期格式,我需要将它们转换为一种一致的格式。
我尝试使用 lubridate() 和 parse_date_time() 函数。 我还尝试将列作为一个字符和一个因素
这是日期列的样子(超过 100,000 行)
Date.of.Record
2018-01-01
20180102
2018/01/03
2018-01-04
2018-01-05
20180106
并且 id 喜欢将它们格式化为:
Date.of.Record
20180101
20180102
20180103
20180104
20180105
20180106
这是我尝试过的代码:
library(lubridate)
date <- parse_date_time(bind$Date.of.Record, orders =c(ymd()))
date2 <- as.Date(bind$Date.of.Record, "%yyyy-%mm-%dd")
'date' 的代码根本不起作用,'date2' 的代码会产生所有 NA。
我意识到我可以按日期格式将数据子集到不同的数据集中,然后在我正确格式化后组合,但我希望有一种更有效的方法来做到这一点。我还是 R 新手,并尝试学习处理大型数据集的最佳方法
感谢您的帮助!!!
【问题讨论】:
-
如果你开始的日期都是正确的顺序(年、月、日),只是中间有各种标点符号,你可以把它们当作字符串并删除任何非数字字符?如
str_remove_all(Date.of.Record, "\\D+")
标签: r date formatting lubridate