Bắt đầu ngayBắt đầu miễn phí

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

Xem khóa học

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 dates bằng fasttime và pipe sang str() để xác nhận fastPOSIXct phân tích đúng.
  • Bây giờ để so sánh thời gian, gọi microbenchmark trong đó đối số thứ nhất dùng ymd_hms() để phân tích dates và đối số thứ hai dùng fastPOSIXct().

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)
Chỉnh sửa và Chạy Mã