Datums maken en opmaken
Om in R een Date-object te maken van een eenvoudige tekenreeks, kun je de functie as.Date() gebruiken. De tekenreeks moet voldoen aan een formaat dat je kunt definiëren met een set symbolen (de voorbeelden komen overeen met 13 januari 1982):
%Y: 4-cijferig jaar (1982)%y: 2-cijferig jaar (82)%m: 2-cijferige maand (01)%d: 2-cijferige dag van de maand (13)%A: weekdag (Wednesday)%a: afgekorte weekdag (Wed)%B: maand (January)%b: afgekorte maand (Jan)
De volgende R-opdrachten maken allemaal hetzelfde Date-object voor 13 januari 1982:
as.Date("1982-01-13")
as.Date("Jan-13-82", format = "%b-%d-%y")
as.Date("13 January, 1982", format = "%d %B, %Y")
Merk op dat in de eerste regel geen format-argument nodig was, omdat R standaard je tekenreeks matcht met de formaten "%Y-%m-%d" of "%Y/%m/%d".
Naast het aanmaken van datums kun je datums ook omzetten naar tekenreeksen met een andere notatie. Hiervoor gebruik je de functie format(). Probeer de volgende codelijnen:
today <- Sys.Date()
format(Sys.Date(), format = "%d %B, %Y")
format(Sys.Date(), format = "Today is a %A!")
Deze oefening maakt deel uit van de cursus
R voor gevorderden
Oefeninstructies
- Er zijn drie tekenreeksen die datums voorstellen voor je klaargezet. Zet ze om naar datums met
as.Date()en ken ze respectievelijk toe aandate1,date2endate3. De code voordate1is al toegevoegd. - Haal nuttige informatie uit de datums als tekenreeks met
format(). Selecteer bij de eerste datum de weekdag. Bij de tweede datum selecteer je de dag van de maand. Bij de derde datum selecteer je de afgekorte maand en het 4-cijferige jaar, gescheiden door een spatie.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
# 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")