Snel parsen met fasttime
Het fasttime-pakket biedt één functie, fastPOSIXct(), speciaal ontworpen om datetimes in te lezen die zijn opgemaakt volgens ISO 8601. Omdat het maar één formaat inleest en geen formaat hoeft te raden, is het echt snel!
In deze oefening zie je hoe snel, door de leestijd van de datums uit de uurlijkse weersgegevens van Auckland (meer dan 17.000 datums) te vergelijken met lubridate’s ymd_hms().
Om de runtimes te vergelijken gebruik je de functie microbenchmark() uit het gelijknamige pakket. Je geeft zoveel argumenten door als je wilt, waarbij elk argument een expressie is om te timen.
Deze oefening maakt deel uit van de cursus
Werken met datums en tijden in R
Oefeninstructies
We hebben de datetimes uit de uurlijkse Auckland-data als strings geladen in de vector dates.
- Bekijk de structuur van
datesom te controleren dat het een string is en in ISO 8601-formaat staat. - Parse
datesmetfasttimeen pipe naarstr()om te controleren datfastPOSIXctze correct parseert. - Roep nu, om de timing te vergelijken,
microbenchmarkaan waarbij het eerste argumentymd_hms()gebruikt omdateste parsen en het tweedefastPOSIXct()gebruikt.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
library(microbenchmark)
library(fasttime)
# Examine structure of dates
str(___)
# Use fastPOSIXct() to parse dates
fastPOSIXct(___) %>% str()
# Compare speed of fastPOSIXct() to ymd_hms()
microbenchmark(
ymd_hms = ___(dates),
fasttime = ___(dates),
times = 20)