Parsing veloce con fasttime
Il pacchetto fasttime fornisce un'unica funzione, fastPOSIXct(), pensata per leggere data-ore formattate secondo ISO 8601. Poiché legge un solo formato e non deve indovinare il formato, è davvero veloce!
In questo esercizio vedrai quanto è veloce confrontando la velocità con cui legge le date dai dati meteo orari di Auckland (oltre 17.000 date) rispetto a ymd_hms() di lubridate.
Per confrontare i tempi di esecuzione userai la funzione microbenchmark() dell'omonimo pacchetto. Le passerai quanti argomenti vuoi, ciascuno essendo un'espressione da cronometrare.
Questo esercizio fa parte del corso
Lavorare con date e orari in R
Istruzioni dell'esercizio
Abbiamo caricato le data-ore dai dati orari di Auckland come stringhe nel vettore dates.
- Esamina la struttura di
datesper verificare che sia una stringa e nel formato ISO 8601. - Esegui il parsing di
datesconfasttimee collega in pipe astr()per verificare chefastPOSIXctle interpreti correttamente. - Ora, per confrontare i tempi, chiama
microbenchmarkdove il primo argomento usaymd_hms()per eseguire il parsing didatese il secondo usafastPOSIXct().
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
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)