Несовместимое форматирование дат (ошибка lubridate) - PullRequest
1 голос
/ 18 апреля 2019

У меня есть вектор несовместимых дат, включая (в основном) эти три формата: «% d /% m /% y», «% m /% d /% y» и «% d /% m /% Y»."

Я пытался реализовать это:

df <- as.data.frame(c("30/12/00","7/31/09","17/09/2008"),col.names = "original_date")

guess_date <- function(x){
  require(lubridate)
  guess <- guess_formats(x, c("mdy","dmy"))
  date <- as.Date(x, guess)[1]
  return(date)
}

df$date <- lapply(df$original_date, guess_date)

1 Ответ

1 голос
/ 18 апреля 2019

Мы можем передать его с parse_date_time

library(lubridate)
parse_date_time(df$original_date, 
    guess_formats(as.character(df$original_date), c("mdy", "dmy", "dmY")))
#[1] "2000-12-30 UTC" "2009-07-31 UTC" "2008-09-17 UTC"
...