如何在R中将字符转换为Date?

时间:2018-12-03 04:19:30

标签: r sparkr

我有一个Excel文件,其中日期采用以下格式。 2020年1月1日 2015年6月3日

我需要在Date中进行转换。我尝试了许多转换技术。每次都得到NA。

2 个答案:

答案 0 :(得分:1)

这应该做到:

x <- c("01-Jan-2020", "03-Jun-2015")

as.Date(x, format = "%d-%b-%Y")
#> [1] "2020-01-01" "2015-06-03"

# Or with lubridate
lubridate::dmy(x)
#> [1] "2020-01-01" "2015-06-03"

我们可以使用以下方法确认x从字符转换为日期:

y <- list(input = x,
          lubridate = lubridate::dmy(x),
          base = as.Date(x, format = "%d-%b-%Y"))

str(y)

#> List of 3
#> $ input    : chr [1:2] "01-Jan-2020" "03-Jun-2015"
#> $ lubridate: Date[1:2], format: "2020-01-01" "2015-06-03"
#> $ base     : Date[1:2], format: "2020-01-01" "2015-06-03"

答案 1 :(得分:0)

下载并安装“ Lubridate”库。

wget https://github.com/tidyverse/lubridate/archive/v1.6.0.tar.gz
sudo R CMD INSTALL v1.6.0.tar.gz

它包含一个名为“ parse_date_time2()”的方法 您可以以任何格式解析日期。 例如。

parse_date_time2("21 Jan 2010", orders = "dmy")

检查以供参考。 https://www.displayr.com/r-date-conversion/