เริ่มต้นใช้งานเริ่มต้นใช้งานได้ฟรี

การ parse อย่างรวดเร็วด้วย fasttime

แพ็กเกจ fasttime มีฟังก์ชันเดียวคือ fastPOSIXct() ซึ่งออกแบบมาสำหรับอ่านข้อมูล datetime ที่อยู่ในรูปแบบ ISO 8601 โดยเฉพาะ เนื่องจากรองรับเพียงรูปแบบเดียวและไม่ต้องเดารูปแบบ จึงทำงานได้เร็วมาก!

ในแบบฝึกหัดนี้ คุณจะเห็นว่ามันเร็วแค่ไหน โดยเปรียบเทียบความเร็วในการอ่านวันที่จากข้อมูลสภาพอากาศรายชั่วโมงของเมืองโอ๊กแลนด์ (กว่า 17,000 รายการ) กับฟังก์ชัน ymd_hms() ของ lubridate

สำหรับการเปรียบเทียบเวลา จะใช้ฟังก์ชัน microbenchmark() จากแพ็กเกจที่มีชื่อเดียวกัน โดยส่ง expression ที่ต้องการวัดเวลาเข้าไปเป็นอาร์กิวเมนต์ได้หลายตัวตามต้องการ

แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร

การทำงานกับวันที่และเวลาใน R

ดูคอร์ส

คำแนะนำการฝึกหัด

เราได้โหลดข้อมูล datetime จากชุดข้อมูลโอ๊กแลนด์ในรูปแบบ string ไว้ในเวกเตอร์ dates แล้ว

  • ตรวจสอบโครงสร้างของ dates เพื่อยืนยันว่าเป็น string และอยู่ในรูปแบบ ISO 8601
  • Parse dates ด้วย fasttime แล้ว pipe ไปยัง str() เพื่อยืนยันว่า fastPOSIXct แปลงค่าได้ถูกต้อง
  • เพื่อเปรียบเทียบเวลา ให้เรียก microbenchmark โดยใช้ ymd_hms() สำหรับ parse dates เป็นอาร์กิวเมนต์แรก และ fastPOSIXct() เป็นอาร์กิวเมนต์ที่สอง

แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ

ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์

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)
แก้ไขและรันโค้ด