Datumsangaben erstellen und formatieren

Um ein Date-Objekt aus einer einfachen Zeichenkette in R zu erstellen, kannst du die as.Date()-Funktion nutzen. Die Zeichenkette muss einem Format entsprechen, das mit einer Reihe von Symbolen definiert werden kann (die Beispiele entsprechen dem 13. Januar 1982):

  • %Y: 4-stelliges Jahr (1982)
  • %y: 2-stelliges Jahr (82)
  • %m: 2-stelliger Monat (01)
  • %d: 2-stelliger Tag des Monats (13)
  • %A: Wochentag (Wednesday)
  • %a: abgekürzter Wochentag (Wed)
  • %B: Monat (January)
  • %b: abgekürzter Monat (Jan)

Die folgenden R-Befehle erstellen alle dasselbe Date-Objekt für den 13. Tag im Januar 1982:

as.Date("1982-01-13")
as.Date("Jan-13-82", format = "%b-%d-%y")
as.Date("13 January, 1982", format = "%d %B, %Y")

Beachte, dass die erste Zeile hier kein Formatargument benötigt, da R deine Zeichenkette standardmäßig mit dem Format "%Y-%m-%d" oder "%Y/%m/%d" abgleicht.

Du kannst nicht nur Datumsangaben erstellen, sondern auch Datumsangaben in Zeichenketten umwandeln, die eine andere Datumsnotation verwenden. Hierfür verwendest du die format()-Funktion. Probiere die folgenden Codezeilen aus:

today <- Sys.Date()
format(Sys.Date(), format = "%d %B, %Y")
format(Sys.Date(), format = "Today is a %A!")

Diese Übung ist Teil des Kurses

R für Fortgeschrittene

Kurs anzeigen

Anleitung zur Übung

  • Es wurden drei Zeichenketten erstellt, die Datumsangaben darstellen. Konvertiere sie mithilfe von as.Date() in echte Datumsangaben und weise sie date1, date2 und date3 zu. Der Programmcode für date1 ist bereits vorhanden.
  • Extrahiere nützliche Informationen aus den Datumsangaben als Zeichenketten, indem du format() nutzt. Wähle den Wochentag des ersten Datums. Wähle dann den Monatstag des zweiten Datums. Und wähle zum Schluss den abgekürzten Monat und das 4-stellige Jahr, getrennt durch ein Leerzeichen, des dritten Datums.

Interaktive Übung zum Anfassen

Probieren Sie diese Übung aus, indem Sie diesen Beispielcode ausführen.

# Definition of character strings representing dates
str1 <- "May 23, '96"
str2 <- "2012-03-15"
str3 <- "30/January/2006"

# Convert the strings to dates: date1, date2, date3
date1 <- as.Date(str1, format = "%b %d, '%y")



# Convert dates to formatted strings
format(date1, "%A")