Een volgorde opgeven met `parse_date_time()`
Wat als je iets hebt in een heel vreemde volgorde zoals dym_msh? Daar is geen benoemde functie speciaal voor, en precies daarvoor is parse_date_time() bedoeld. parse_date_time() heeft een extra argument, orders, waarmee je de volgorde van de onderdelen in de datum kunt opgeven.
Om bijvoorbeeld "2010 September 20th" te parsen, kun je parse_date_time("2010 September 20th", orders = "ymd") gebruiken; dat is gelijk aan de functie ymd() uit de vorige oefening.
Een voordeel van parse_date_time() is dat je meer formaatletters kunt gebruiken. Zo kun je weekdagnamen aangeven met A, I voor 12-uurs tijd, am/pm-indicatoren met p en nog veel meer. Je vindt de volledige lijst op de helppagina ?parse_date_time.
Een ander groot voordeel is dat je een vector met volgordes kunt opgeven, zodat je datums kunt parsen waarbij meerdere formaten door elkaar gebruikt worden.
In deze oefening ga je daarmee aan de slag.
Deze oefening maakt deel uit van de cursus
Werken met datums en tijden in R
Oefeninstructies
xis een lastiger datetime. Gebruik de hints in de instructies omxte parsen.two_ordersheeft twee verschillende volgordes; parseer beide door de volgorde op te geven alsc("mdy", "dmy").- Parse
short_datesmetorders = c("dOmY", "OmY", "Y"). Wat gebeurt er met de datums waarbij geen maand of dag is opgegeven?
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
# Specify an order string to parse x
x <- "Monday June 1st 2010 at 4pm"
___(x, orders = "___")
# Specify order to include both "mdy" and "dmy"
two_orders <- c("October 7, 2001", "October 13, 2002", "April 13, 2003",
"17 April 2005", "23 April 2017")
parse_date_time(two_orders, orders = ___)
# Specify order to include "dOmY", "OmY" and "Y"
short_dates <- c("11 December 1282", "May 1372", "1253")
parse_date_time(short_dates, orders = ___)