我有大量的.xls文件,上面都有我正在阅读的日期。问题是,每个人都以不同的方式填写了“日期”一栏。因此,我有这样的事情:
date <- c(1995, 1995-05-03, 03-05-1995, 1995/5)我一直在想办法解决这个问题:
使用as.Date()
convertToDate()的
当然,这会生成多个NA。
有办法解决这个问题吗?
发布于 2020-07-27 20:16:50
您可以尝试anytime包,假设您可以在数据中添加引号:
library(anytime)
date <- anydate(date)
head(date)
#> [1] "1995-01-01" "1995-05-03" "1995-03-05" "1995-05-01"由reprex包创建于2020-07-27 (v0.3.0)
发布于 2020-07-27 20:20:13
您可以尝试lubridate::parse_date_time(),它允许您指定数据中可能出现的多个日期和时间格式(并且不需要保持格式的顺序):
date <- c("1995", "1995-05-03", "03-05-1995", "1995/5", "1996.12.01", "1.3.1993")
lubridate::parse_date_time(date, order = c("Y", "Ymd", "dmY", "Y/m"))
#> [1] "1995-01-01 UTC" "1995-05-03 UTC" "1995-05-03 UTC" "1995-05-01 UTC"
#> [5] "1996-12-01 UTC" "1993-03-01 UTC"https://stackoverflow.com/questions/63122742
复制相似问题