Aan de slagGa gratis aan de slag

Tijden maken en opmaken

Net zoals bij datums kun je as.POSIXct() gebruiken om een tekenreeks om te zetten naar een POSIXct-object, en format() om een POSIXct-object om te zetten naar een tekenreeks. Ook hier heb je een brede waaier aan symbolen:

  • %H: uren als decimaal getal (00-23)
  • %I: uren als decimaal getal (01-12)
  • %M: minuten als decimaal getal
  • %S: seconden als decimaal getal
  • %T: verkorte notatie voor het typische formaat %H:%M:%S
  • %p: AM/PM-indicator

Voor een volledige lijst met conversiesymbolen, raadpleeg je de documentatie van strptime in de console:

?strptime

Ook nu gebruikt as.POSIXct() een standaardformaat om tekenreeksen te matchen. In dit geval is dat %Y-%m-%d %H:%M:%S. In deze oefening abstraheren we van verschillende tijdzones.

Deze oefening maakt deel uit van de cursus

R voor gevorderden

Cursus bekijken

Oefeninstructies

  • Zet twee tekenreeksen die tijdstempels voorstellen, str1 en str2, om naar POSIXct-objecten met de namen time1 en time2.
  • Maak met format() een tekenreeks van time1 die alleen de minuten bevat.
  • Haal uit time2 de uren en minuten als "hours:minutes AM/PM". Kijk in de opdrachttekst hierboven voor de juiste conversiesymbolen!

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

# Definition of character strings representing times
str1 <- "May 23, '96 hours:23 minutes:01 seconds:45"
str2 <- "2012-3-12 14:23:08"

# Convert the strings to POSIXct objects: time1, time2
time1 <- as.POSIXct(str1, format = "%B %d, '%y hours:%H minutes:%M seconds:%S")


# Convert times to formatted strings
Code bewerken en uitvoeren