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
Anleitung zur Übung
- Es wurden drei Zeichenketten erstellt, die Datumsangaben darstellen. Konvertiere sie mithilfe von
as.Date()
in echte Datumsangaben und weise siedate1
,date2
unddate3
zu. Der Programmcode fürdate1
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")