Skip to content

yetanothersu/waReki

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

waReki 🌸: The Ultimate Solution for Japanese Wrecked Dates

Lifecycle: experimental

Pronunciation: /wah-RECK-ee/ (Named with the hope of rescuing wrecked data in Japan)

日本のデータ分析者を長年苦しめてきた「和暦・西暦・全角半角・年省略」が入り乱れるカオスな日時データ.waReki は,そんな絶望的なベクトルデータを 「見た目はあるがままに,内部では完璧に計算・ソート可能にする」 というS3クラスを提供します.

✨ Features

  • カオスフォーマットの完全維持: 入力された文字列の見た目を一切変更しません.
  • 透過的な演算とソート: 見た目はバラバラでも,内部では Date 型として保持されるため,sort()diff() が完全に機能します.
  • 全角・半角のハイブリッド対応: 1989, 1989, 平成31年 など,どのようなスタイルにも寛容です.
  • 「空気読め」機能(年の省略対応): 4月1日 のように年が省略されている場合,実行環境から「空気を読んで」当年を内部で補完します.
  • 元年サポート: 令和元年 を自動的に 2019 として解釈します.
  • 「年のみ」データの自動補完: 令和5, 令和8年, 2023 など,月日がなく「年」の文字すら欠損しているデータもそのまま保持.内部的にはその年の1月1日として扱います.

🚀 Installation

本パッケージはCRANへの登録予定はありません.GitHubから直接インストールしてください.

# install.packages("remotes")
remotes::install_github("yetanothersu/waReki")

💡 Usage

身の回りの役所や企業で使っているデータを用意し,as.waReki() に通すだけです.

library(waReki)

# 官公庁や伝統的企業から送られてきた悪夢のようなデータ
nightmare_dates <- c(
  "2024年4月1日",   # 全角西暦+半角月日
  "令和元年5月1日",   # 和暦元年+全角月日
  "4月2日",             # 年が省略されている(空気を読んで当年として処理)
  "令和5",              # 和暦で月日なし,かつ「年」の表記なし
  "1989/01/08",         # スラッシュ区切りの西暦
  "令和8年",            # 和暦で月日なし,こちらは「年」の表記あり
  "昭和64年1月7日"    # 幻の昭和64年+全角半角ミックス
)

# waRekiクラスに変換
wr_dates <- as.waReki(nightmare_dates)

# 中身を確認すると,あるがままの見た目を完全維持!
print(wr_dates)
#> Chaos preserved waReki Date(s):
#> [1] "2024年4月1日" "令和元年5月1日" "4月2日"          
#> [4] "令和5"            "1989/01/08"       "令和8年"         
#> [7] "昭和64年1月7日"

# しかし,ソートすると……元の文字列のまま完璧な時系列順に並ぶ!
sort(wr_dates)
#> [1] "昭和64年1月7日" "1989/01/08"       "令和元年5月1日"
#> [4] "令和5"            "2024年4月1日" "4月2日"          
#> [7] "令和8年"

⚠️ Known Issues & Easter Eggs

FATAL ERROR: 四半期データの罠

【警告】 エクセルの見た目の都合で年が省略された四半期データ(例: 4-6)を絶対に渡さないでください.時系列の連続性が不可逆的に破壊されるため,安全装置が作動します.

as.waReki(c("2000/1-3", "4-6"))
#> Error: FATAL ERROR: The timeline has been permanently shattered.
#> You attempted to parse quarterly data where years were omitted for visual convenience in Excel.
#> The context is lost forever. May your original file be backed up.

📝 License

MIT License

About

The Ultimate Solution for Japanese Wrecked Dates

Resources

License

Unknown, MIT licenses found

Licenses found

Unknown
LICENSE
MIT
LICENSE.md

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages