開始使用免費開始

使用 fasttime 進行快速剖析

fasttime 套件提供一個單一函式 fastPOSIXct(),專門用來讀取符合 ISO 8601 格式的日期時間。因為它只讀一種格式,不需要猜測格式,所以速度非常快!

在這個練習中,你會把它讀取奧克蘭逐小時天氣資料中的日期時間(超過 17,000 筆)所花的時間,與 lubridateymd_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)
編輯並執行程式碼