开始使用免费开始使用

使用 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)
编辑并运行代码