R将不同格式的日期转换为单一格式

R将不同格式的日期转换为单一格式,r,date,R,Date,我正在处理一个类似这样的数据集- data = data.frame(ID=c(1,2,3,4,5,6,7,8,9,10), Date=c('Jan 11, 2019 12:00:00 am','Feb 15, 2019 12:00:00 am','Mar 8, 2019 12:00:00 am', 'Apr 5, 2019 12:00:00 am','Apr 12, 2019 12:00:00 am','26

我正在处理一个类似这样的数据集-

data = data.frame(ID=c(1,2,3,4,5,6,7,8,9,10),
                  Date=c('Jan 11, 2019 12:00:00 am','Feb 15, 2019 12:00:00 am','Mar 8, 2019 12:00:00 am',
                         'Apr 5, 2019 12:00:00 am','Apr 12, 2019 12:00:00 am','26/01/2015 00:00','2015-02-16 00:00:00',
                         '2015-02-12 00:00:00','2015-11-10 00:00:00','Dec 7, 2018 12:00:00 am'))

#Converting the Date column to character
data$Date=as.character(data$Date)
Date
包含不同格式的日期。我想清理此列,以便所有日期都采用相同的格式

所需格式-YYYY-MM-DD

这是我的尝试-

我使用
flipTime
软件包中的
AsDate
函数来转换日期

require(devtools)
install_github("Displayr/flipTime")
library(flipTime)

data$Date_New=AsDate(data$Date)
这给了我以下的错误

手部纵断面误差(深度(替换(x)),长度(x), on.parse.failure):无法将数据$Date解析为中的有效日期 任何格式

但是,当我对数据集中的任何一个日期尝试相同的函数时,它工作得很好

AsDate("Feb 15, 2018 12:00:00 AM")
[1] "2018-02-15"

AsDate("19/07/2017 00:00")
[1] "2017-07-19"

任何建议或替代方案都将受到高度赞赏

lubridate::parse_date_time(数据$date,订单=c(“%b%d,%Y%H:%M:%S%p”,“%Y-%M-%d%H:%M:%S”,“%d/%M/%Y%H:%M”)
将是一种替代方案,但我猜您是在试图修复错误,还是想在不指定具体日期格式的情况下使用flipTime?
orders
参数可以写成:
orders=c(“bdYHMSp”、“YmdHMS”、“dmYHM”)
谢谢。您的解决方案作为替代方案运行良好。请将其作为答案发布,以便我可以对其进行更新投票。
lubridate::parse_date_time(data$date,orders=c(“%b%d,%Y%H:%M:%S%p”,“%Y-%M-%d%H:%M:%S”,“%d/%M/%Y%H:%M”)
将是另一种选择,但我猜您是在试图修复错误,还是想在不指定具体日期格式的情况下使用flipTime?
orders
参数可以写成:
orders=c(“bdYHMSp”、“YmdHMS”、“dmYHM”)
谢谢。您的解决方案作为替代方案运行良好。请把它作为答案贴出来,这样我就可以投票了。