fasttime으로 빠르게 파싱하기
fasttime 패키지에는 ISO 8601 형식의 datetime을 읽도록 설계된 단일 함수 fastPOSIXct()가 있어요. 한 가지 형식만 읽고 형식을 추측할 필요가 없기 때문에 정말 빠릅니다!
이 연습에서는 오클랜드 시간별 기상 데이터(1만 7천 개가 넘는 날짜)를 읽을 때의 속도를 lubridate의 ymd_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)