fasttime ile hızlı ayrıştırma
fasttime paketi, ISO 8601 formatına göre biçimlendirilmiş tarih-saatleri okumak için tasarlanmış tek bir fonksiyon sağlar: fastPOSIXct(). Sadece tek bir formatı okuduğu ve formatı tahmin etmek zorunda olmadığı için gerçekten çok hızlıdır!
Bu egzersizde, Auckland saatlik hava durumu verilerindeki tarihleri (17.000'den fazla tarih) okuma hızını lubridate'in ymd_hms() fonksiyonuyla karşılaştırarak ne kadar hızlı olduğunu göreceksin.
Çalışma sürelerini karşılaştırmak için aynı adlı paketten microbenchmark() fonksiyonunu kullanacaksın. Zamanlanacak her biri birer ifade olacak şekilde istediğin kadar argüman geçebilirsin.
Bu egzersiz, kursun bir parçasıdır
R'de Tarihler ve Zamanlarla Çalışma
Egzersiz talimatları
Auckland saatlik verilerinden alınan tarih-saatleri, karakter dizileri olarak dates vektörüne yükledik.
dates'in yapısını inceleyerek bir karakter dizisi olduğunu ve ISO 8601 formatında bulunduğunu doğrula.dates'ifasttimeile ayrıştır ve doğru ayrıştırıldığını görmek içinstr()'a pipe et;fastPOSIXct'nin doğru parse ettiğini kontrol et.- Şimdi zamanlamayı karşılaştırmak için
microbenchmarkçağır: ilk argümandates'i ayrıştırmak içinymd_hms()kullansın, ikinci argüman isefastPOSIXct()kullansın.
Uygulamalı etkileşimli egzersiz
Bu egzersizi bu örnek kodu tamamlayarak deneyin.
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)