始める無料で始める

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() の処理時間を、fasttimeymd_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)
コードを編集して実行