使用 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)