НачатьНачать бесплатно

Быстрый разбор с fasttime

Пакет fasttime предоставляет единственную функцию fastPOSIXct(), предназначенную для чтения дат и времени в формате ISO 8601. Поскольку она работает только с одним форматом и не тратит время на его определение, она работает очень быстро!

В этом упражнении вы убедитесь в этом сами: сравните скорость чтения дат из почасовых данных о погоде в Окленде (более 17 000 значений) с помощью fastPOSIXct() и функции ymd_hms() из пакета lubridate.

Для сравнения времени выполнения используйте функцию microbenchmark() из одноимённого пакета. Передайте в неё столько аргументов, сколько нужно — каждый из них представляет выражение, время выполнения которого требуется измерить.

Это упражнение является частью курса

Работа с датами и временем в R

Посмотреть курс

Инструкции к упражнению

Даты и время из почасовых данных по Окленду уже загружены в виде строк в вектор dates.

  • Изучите структуру dates, чтобы убедиться, что это строковый вектор в формате ISO 8601.
  • Разберите dates с помощью fasttime и передайте результат в str() через pipe, чтобы проверить корректность работы fastPOSIXct.
  • Теперь сравните время выполнения: вызовите microbenchmark, передав первым аргументом разбор dates через ymd_hms(), а вторым — через 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)
Редактировать и запускать код