LoslegenKostenlos loslegen

Eine Reihenfolge mit `parse_date_time()` angeben

Was ist, wenn du etwas in einer wirklich ungewöhnlichen Reihenfolge wie dym_msh hast? Dafür gibt es keine benannte Funktion – hier kommt parse_date_time() ins Spiel. parse_date_time() nimmt ein zusätzliches Argument orders, mit dem du die Reihenfolge der Komponenten im Datum festlegen kannst.

Um zum Beispiel "2010 September 20th" zu parsen, könntest du parse_date_time("2010 September 20th", orders = "ymd") verwenden; das wäre gleichbedeutend mit der Funktion ymd() aus der vorherigen Übung.

Ein Vorteil von parse_date_time() ist, dass du mehr Formatzeichen verwenden kannst. Du kannst zum Beispiel Wochentagsnamen mit A angeben, I für 12‑Stunden‑Zeit, am/pm‑Indikatoren mit p und viele weitere. Eine vollständige Liste findest du auf der Hilfeseite ?parse_date_time.

Ein weiterer großer Vorteil ist, dass du einen Vektor von Reihenfolgen angeben kannst. So lassen sich Datumswerte parsen, bei denen mehrere Formate vorkommen können.

Das probierst du in dieser Übung aus.

Diese Übung ist Teil des Kurses

Arbeiten mit Datums- und Zeitangaben in R

Kurs anzeigen

Anleitung zur Übung

  • x ist ein kniffligeres Datum-Zeit-Format. Nutze die Hinweise in der Anleitung, um x zu parsen.
  • two_orders hat zwei unterschiedliche Reihenfolgen. Parse beide, indem du die Reihenfolge als c("mdy", "dmy") angibst.
  • Parse short_dates mit orders = c("dOmY", "OmY", "Y"). Was passiert mit den Datumsangaben, bei denen Monate oder Tage fehlen?

Interaktive Übung

Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.

# 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 = ___)
Code bearbeiten und ausführen