Aan de slagGa gratis aan de slag

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

Cursus bekijken

Oefeninstructies

  • Er zijn drie tekenreeksen die datums voorstellen voor je klaargezet. Zet ze om naar datums met as.Date() en ken ze respectievelijk toe aan date1, date2 en date3. De code voor date1 is 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")
Code bewerken en uitvoeren