시작하기무료로 시작하기

fasttime으로 빠르게 파싱하기

fasttime 패키지에는 ISO 8601 형식의 datetime을 읽도록 설계된 단일 함수 fastPOSIXct()가 있어요. 한 가지 형식만 읽고 형식을 추측할 필요가 없기 때문에 정말 빠릅니다!

이 연습에서는 오클랜드 시간별 기상 데이터(1만 7천 개가 넘는 날짜)를 읽을 때의 속도를 lubridateymd_hms()와 비교하여 얼마나 빠른지 확인해 볼 거예요.

실행 시간을 비교하려면 동일한 이름의 패키지에 있는 microbenchmark() 함수를 사용합니다. 원하는 만큼의 인수를 전달할 수 있으며, 각 인수는 시간을 재고 싶은 표현식이 됩니다.

이 연습은 강의의 일부입니다

R에서 날짜와 시간 다루기

강의 보기

연습 안내

오클랜드 시간별 데이터의 datetime을 문자열로 변환해 벡터 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)
코드 편집 및 실행