Zacznij terazZacznij za darmo

Szybkie parsowanie z fasttime

Pakiet fasttime udostępnia jedną funkcję – fastPOSIXct() – zaprojektowaną do wczytywania dat i godzin zapisanych w formacie ISO 8601. Ponieważ obsługuje tylko jeden format i nie musi go zgadywać, działa naprawdę szybko!

W tym ćwiczeniu przekonasz się, jak szybko – porównując czas wczytywania dat z godzinowych danych pogodowych Auckland (ponad 17 000 dat) między fastPOSIXct() a funkcją ymd_hms() z pakietu lubridate.

Do porównania czasów wykonania użyjesz funkcji microbenchmark() z pakietu o tej samej nazwie. Przekazujesz do niej dowolną liczbę argumentów – każdy z nich to wyrażenie, którego czas chcesz zmierzyć.

To ćwiczenie jest częścią kursu

Praca z datami i czasem w R

Zobacz kurs

Instrukcje do ćwiczenia

Wczytaliśmy daty i godziny z danych Auckland jako ciągi znaków do wektora dates.

  • Zbadaj strukturę dates, aby sprawdzić, czy jest to ciąg znaków w formacie ISO 8601.
  • Sparsuj dates za pomocą fasttime i przekaż wynik potokiem do str(), aby zweryfikować, czy fastPOSIXct parsuje je poprawnie.
  • Aby porównać czasy wykonania, wywołaj microbenchmark, gdzie pierwszy argument używa ymd_hms() do parsowania dates, a drugi – fastPOSIXct().

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

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)
Edytuj i uruchom kod