トップ 差分 一覧 ソース 検索 ヘルプ RSS ログイン 印刷

半端な日付

auditR

半端な日付文字を日付型に変換する

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

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

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

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"

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


Last updated 2022-08-27 | auditR (c) N.Nawata