Phân tích nhanh với fasttime
Gói fasttime cung cấp một hàm duy nhất fastPOSIXct(), được thiết kế để đọc datetime theo chuẩn ISO 8601. Vì chỉ đọc một định dạng và không phải đoán định dạng, nên nó rất nhanh!
Bạn sẽ thấy tốc độ đó trong bài này bằng cách so sánh thời gian đọc các ngày giờ từ dữ liệu thời tiết theo giờ của Auckland (hơn 17.000 mốc thời gian) với ymd_hms() của lubridate.
Để so sánh thời gian chạy, bạn sẽ dùng hàm microbenchmark() từ gói cùng tên. Bạn có thể truyền vào bao nhiêu đối số tùy ý, mỗi đối số là một biểu thức cần đo thời gian.
Bài tập này là một phần của khóa học
Làm việc với Ngày và Giờ trong R
Hướng dẫn bài tập
Chúng tôi đã nạp các datetime từ dữ liệu theo giờ của Auckland dưới dạng chuỗi vào vector dates.
- Kiểm tra cấu trúc của
datesđể xác nhận nó là chuỗi và theo định dạng ISO 8601. - Phân tích
datesbằngfasttimevà pipe sangstr()để xác nhậnfastPOSIXctphân tích đúng. - Bây giờ để so sánh thời gian, gọi
microbenchmarktrong đó đối số thứ nhất dùngymd_hms()để phân tíchdatesvà đối số thứ hai dùngfastPOSIXct().
Bài tập tương tác thực hành trực tiếp
Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.
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)