Snabb parsning med fasttime
Paketet fasttime innehåller en enda funktion – fastPOSIXct() – som är utformad för att läsa in datum och tider formaterade enligt ISO 8601. Eftersom den bara hanterar ett format och inte behöver gissa vilket, är den väldigt snabb!
I den här övningen får du se hur snabb den är, genom att jämföra hur lång tid det tar att läsa in datumen från Aucklands väderdata per timme (över 17 000 datum) med fastPOSIXct() respektive lubridates ymd_hms().
För att jämföra körtiderna använder du funktionen microbenchmark() från paketet med samma namn. Du skickar in valfritt antal argument, där varje argument är ett uttryck som ska tidsmätas.
Den här övningen är en del av kursen
Arbeta med datum och tider i R
Övningsinstruktioner
Vi har läst in datumen från Aucklands timvisa väderdata som strängar i vektorn dates.
- Undersök strukturen hos
datesför att kontrollera att det är en sträng i ISO 8601-format. - Parsna
datesmedfasttimeoch skicka resultatet vidare med pipe tillstr()för att verifiera attfastPOSIXctparsnar dem korrekt. - Jämför nu körtiderna genom att anropa
microbenchmark, där det första argumentet använderymd_hms()för att parsnadatesoch det andra använderfastPOSIXct().
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
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)