Mam problem ze zrozumieniem, jak korzystać z funkcji guess_formats w lubridate. Mam wektor dat w nieznanym zestawie/kolejności formatów. Chciałbym przekonwertować je na obiekt Date (lub przynajmniej przekonwertować jak najwięcej). Poniższy kod jest tym, co próbowałem: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)
Daje to wszystkie NA.
Jest to oczywiście tylko krótki przykład. W prawdziwym przypadku nie wiedziałbym, gdzie rozproszone są różne formaty, i nie byłbym w 100% pewien, czy są to tylko% m /% d /% Y i% Y-% m-% d. Czy ktoś mógłby mi powiedzieć albo A. jak w tym przykładzie można użyć guess_formats, albo B. czy jest coś bardziej odpowiedniego do użycia w lubridate/base R, mam nadzieję, że bez dużej ilości regex'owania. Dzięki!
Edytuj: Próbowałem również parse_date_time. Co nie rozumiem jest następujące prace na ten przykład:
parse_date_time(sampleDates,
orders = c("Ymd", "mdY"),
locale = "eng")
Ale tego nie robi:
parse_date_time(sampleDates,
orders = c("mdY", "Ydm"),
locale = "eng")
W moim rzeczywistego zestawu danych, nie będą wiedzieć, kolejność formatowania co wydaje się ważne dla tej funkcji.
Podwójna edycja: Dur, OK, widzę, że miałem Ymd w pierwszym przykładzie parse_date_time, a Ydm w drugim ... kontynuuj.