Schnelles Parsen mit fasttime
Das Paket fasttime stellt mit fastPOSIXct() eine einzelne Funktion bereit, die Datetimes im ISO-8601-Format einliest. Da es nur ein Format liest und keines raten muss, ist es wirklich schnell!
In dieser Übung siehst du, wie schnell es ist, indem du vergleichst, wie schnell es die Daten der stündlichen Wetterdaten aus Auckland (über 17.000 Datumsangaben) im Vergleich zu lubridates ymd_hms() einliest.
Um Laufzeiten zu vergleichen, verwendest du die Funktion microbenchmark() aus dem gleichnamigen Paket. Du übergibst beliebig viele Argumente, jeweils ein Ausdruck, dessen Laufzeit gemessen werden soll.
Diese Übung ist Teil des Kurses
Arbeiten mit Datums- und Zeitangaben in R
Anleitung zur Übung
Wir haben die Datetimes aus den stündlichen Auckland-Daten als Strings in den Vektor dates geladen.
- Untersuche die Struktur von
dates, um zu überprüfen, dass es ein String ist und im ISO-8601-Format vorliegt. - Parse
datesmitfasttimeund pipe zustr(), um zu prüfen, dassfastPOSIXctsie korrekt parst. - Rufe nun zum Zeitvergleich
microbenchmarkauf: Das erste Argument nutztymd_hms()zum Parsen vondates, das zweitefastPOSIXct().
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
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)