トップ 一覧 検索 ヘルプ RSS ログイン 印刷

半端な日付の変更点

  • 追加された行はこのように表示されます。
  • 削除された行はこのように表示されます。
!半端な日付文字を日付型に変換する

通常は(データ処理にそれなりに日付を使う人にとっては当然に)日付は日付型で入力/保存するものだ。それはスプレッドシートであっても同じだ。

他者からデータをもらうと、日付の入力で文字列が使われていて戸惑うことがある。

例えば、月が全角、日が半角などで、しかも年が入っていないなど。

lubridateパッケージを使うとかなり柔軟に日付変換をしてくれるが、年月日の三要素が揃っていないと難しそうだ。

 > ymd("2022年12年21日") #正しい日本語表記
 [1] "2022-12-21"

また、和暦の表記が正しければ、zipanguパッケージで日付型に変換できる。

 > zipangu::convert_jdate("令和4年12年21日")
 [1] "2022-12-21"

!けしからん日付の場合


 > c("1月15日", "2月3日") %>%   #けしからん日付の例
 str_c(year(today()),"年", .) |>     #処理日の年をとりあえずつけてやる。
 stringi::stri_trans_nfkc() |>      #全角数字を半角数字に変換
 ymd()                                         #年月日(日付型)に変換
 [1] "2022-01-15" "2022-02-03"

実際には、年が一つ前であるべきことも多いので、例えば年明け早々にデータ処理する際には注意が必要だ。