сбой lubridate::as_datetime() при работе as.POSIXct()?

#r #datetime #lubridate

#r #дата-время #lubridate

Вопрос:

Может кто-нибудь объяснить, почему lubridate::as_datetime() здесь сбой, но as.POSIXct() работает?

 > as.POSIXct("2020-10-27 20:25")
[1] "2020-10-27 20:25:00 CDT"

> lubridate::as_datetime("2020-10-27 20:25")
[1] NA
Warning message:
All formats failed to parse. No formats found. 
  

Комментарии:

1. as_datetime("2020-10-27 20:25:00") работает

Ответ №1:

Почему одно работает, а другое нет, я не знаю, но вы можете помочь as_datetime() понять ввод, добавив строку формата, которая определяет формат текстовой строки.

 lubridate::as_datetime("2020-10-27 20:25", format = "%Y-%m-%d %H:%M")
  

Ознакомьтесь с документацией для as_datetime() и strptime() о том, как записать строку формата.

редактировать: похоже, что аргумент format по умолчанию имеет значение NULL для as_datetime, аналогичная ошибка генерируется as.Posixct(), если указан format = NULL .

 as.POSIXct("2020-10-27 20:25", format = NULL)