使用 fasttime 進行快速剖析
fasttime 套件提供一個單一函式 fastPOSIXct(),專門用來讀取符合 ISO 8601 格式的日期時間。因為它只讀一種格式,不需要猜測格式,所以速度非常快!
在這個練習中,你會把它讀取奧克蘭逐小時天氣資料中的日期時間(超過 17,000 筆)所花的時間,與 lubridate 的 ymd_hms() 做比較,親自體會有多快。
為了比較執行時間,你會使用同名套件中的 microbenchmark() 函式。你可以傳入任意多個引數,每個引數都是要計時的運算式。
本練習屬於課程
在 R 中處理日期與時間
練習說明
我們已將奧克蘭逐小時資料中的日期時間,以字串形式載入到向量 dates。
- 檢視
dates的結構,確認它是字串,且符合 ISO 8601 格式。 - 使用
fasttime剖析dates,並以管線傳給str(),確認fastPOSIXct能正確剖析。 - 接著比較執行時間:呼叫
microbenchmark,其中第一個運算式使用ymd_hms()來剖析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)