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
Oefeninstructies
- Zet twee tekenreeksen die tijdstempels voorstellen,
str1enstr2, om naarPOSIXct-objecten met de namentime1entime2. - Maak met
format()een tekenreeks vantime1die alleen de minuten bevat. - Haal uit
time2de 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