lubridate::fast_strptime による高速パース
lubridate には独自の高速な日時パーサー fast_strptime() があります。parse_date_time() が order 引数を取るのに対し、fast_strptime() は format 引数を取り、フォーマットは strptime() 形式に従う必要があります。
動画で見たとおり、日時の各成分を表す文字は % を前置し、空白以外の文字はすべて明示的に含める必要があります。
fast_strptime() を使って dates をパースし、これまで見てきた他の方法と速度を比較してみましょう。
この演習はコースの一部です
Rで扱う日付と時刻
演習の手順
ワークスペースに dates が用意されています。
datesの先頭を確認します。どの成分が含まれ、どの区切り文字が使われていますか?- 適切なフォーマット文字列を指定して、
fast_strptime()でdatesをパースします。 fast_strptime()の処理時間を、fasttimeとymd_hms()とで比較します。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# Head of dates
head(___)
# Parse dates with fast_strptime
fast_strptime(dates,
format = ___) %>% str()
# Comparse speed to ymd_hms() and fasttime
microbenchmark(
ymd_hms = ymd_hms(dates),
fasttime = fastPOSIXct(dates),
fast_strptime = ___(dates,
format = ___),
times = 20)