R中的不同日期格式

时间:2019-01-02 16:35:27

标签: r date

在我的R数据集中,有一个 data $ date 变量,它由两种不同的文字组成:有些是 dd-mmm-yy (例如“ 14-nov -17“),其他为 ddMMMyyyy (例如“ 14APR2016”)。

在这里我被卡住了。我如何才能将所有这些都更新为日期格式?

谢谢

2 个答案:

答案 0 :(得分:2)

一个选项是parse_date_time中的lubridate,它可以采用多种Date格式

library(lubridate)
parse_date_time(v1, c("%d-%b-%y", "%d%b%Y"))
#[1] "2017-11-14 UTC" "2016-04-14 UTC"

或者使用anydate中的anytime。但是,应用anydate后,检查是否所有format都已存在

library(anytime)
getFormats()

如果缺少某些format,请添加addFormats

addFormats("%d-%b-%y")

然后在日期的列/向量上应用anydate

anydate(v1)
#[1] "2017-11-14" "2016-04-14"

数据

v1 <- c("14-nov-17", "14APR2016")

答案 1 :(得分:0)

另一种选择,如果您想使用基数R和正则表达式:

data$date <- as.Date(sub('(\\d{2})(\\w{3})(\\d{2})(\\d{2})', '\\1-\\2-\\4', data$date),
                     format = "%d-%b-%y")