Kom igångKom igång gratis

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

Visa kurs

Övningsinstruktioner

Vi har läst in datumen från Aucklands timvisa väderdata som strängar i vektorn dates.

  • Undersök strukturen hos dates för att kontrollera att det är en sträng i ISO 8601-format.
  • Parsna dates med fasttime och skicka resultatet vidare med pipe till str() för att verifiera att fastPOSIXct parsnar dem korrekt.
  • Jämför nu körtiderna genom att anropa microbenchmark, där det första argumentet använder ymd_hms() för att parsna dates och det andra använder fastPOSIXct().

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)
Redigera och kör kod