IniziaInizia gratis

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

Visualizza il corso

Istruzioni dell'esercizio

Abbiamo caricato le data-ore dai dati orari di Auckland come stringhe nel vettore dates.

  • Esamina la struttura di dates per verificare che sia una stringa e nel formato ISO 8601.
  • Esegui il parsing di dates con fasttime e collega in pipe a str() per verificare che fastPOSIXct le interpreti correttamente.
  • Ora, per confrontare i tempi, chiama microbenchmark dove il primo argomento usa ymd_hms() per eseguire il parsing di dates e il secondo usa fastPOSIXct().

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)
Modifica ed esegui il codice