Rychlé parsování s fasttime
Balíček fasttime obsahuje jedinou funkci fastPOSIXct(), která je navržená pro načítání dat a časů ve formátu ISO 8601. Protože pracuje jen s jedním formátem a nemusí ho odhadovat, je extrémně rychlá!
V tomto cvičení si rychlost ověříš sám/sama – porovnáš, jak rychle načte data z hodinových meteorologických měření v Aucklandu (přes 17 000 záznamů) ve srovnání s funkcí ymd_hms() z balíčku lubridate.
K porovnání doby běhu použiješ funkci microbenchmark() ze stejnojmenného balíčku. Předáš jí libovolný počet argumentů – každý z nich je výraz, jehož čas provádění chceš změřit.
Toto cvičení je součástí kurzu
Práce s daty a časy v R
Pokyny k cvičení
Do vektoru dates jsme načetli data a časy z hodinových dat pro Auckland jako řetězce.
- Prozkoumej strukturu vektoru
dates, abys ověřil/a, že jde o řetězec ve formátu ISO 8601. - Parsuj
datespomocífasttimea přesměruj výsledek dostr(), abys ověřil/a, žefastPOSIXctparsuje data správně. - Teď porovnej dobu běhu: zavolej
microbenchmark, kde první argument použijeymd_hms()k parsovánídatesa druhý použijefastPOSIXct().
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
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)