У меня возникли проблемы с пониманием того, как использовать функцию guess_formats в lubridate. У меня есть вектор дат в некотором неизвестном наборе/порядке форматов. Я хотел бы преобразовать их в объект Date (или, по крайней мере, преобразовать как можно больше). Следующий код - это то, что я пробовал:guess_formats + R + lubridate
library(lubridate)
sampleDates <- c("4/6/2004","4/6/2004","4/6/2004","4/7/2004",
"4/6/2004","4/7/2004","2014-06-28","2014-06-30","2014-07-12",
"2014-07-29","2014-07-29","2014-08-12")
formats <- guess_formats(sampleDates, c("Ymd", "mdY"))
dates <- as.Date(sampleDates, format=formats)
Это дает все NA.
Это, очевидно, всего лишь короткий пример. В реальном случае я не знаю, где разбросаны различные форматы, и я не был бы на 100% уверен, что есть только% m /% d /% Y и% Y-% m-% d. Может ли кто-нибудь дать мне знать, либо A. Как бы использовать gt_formats в этом примере или B. есть ли что-то более подходящее для использования в lubridate/base R, надеюсь, без большого количества регулярных выражений. Благодаря!
Редактировать: Я также пробовал parse_date_time. То, что я не понимаю, следующие работы для этого примера:
parse_date_time(sampleDates,
orders = c("Ymd", "mdY"),
locale = "eng")
Но это не делает:
parse_date_time(sampleDates,
orders = c("mdY", "Ydm"),
locale = "eng")
В моем фактическом наборе данных, я не буду знать порядок форматирования, что представляется важным для этой функции.
Double Edit: Dur, OK, я вижу, у меня был Ymd в первом примере parse_date_time и Ydm во втором ... продолжайте.