Rで解析:年月日時分秒のオブジェクトを整形するコマンドの例

Rの解析に役に立つ記事
スポンサーリンク

年月日時分秒のオブジェクトを整形するコマンドの例です。pasteやpaste0コマンドと組み合わせて使うのが便利です。パッケージのインストールの必要がなく実行可能です。

実行コマンドはR version 4.2.2で確認しています。

スポンサーリンク

実行コマンド

詳細はコメント、コマンドのヘルプを確認してください。

#システムのタイムゾーンでdate-time classを作成
TestDateClass <- ISOdate(2023, 01, 20, 8, 23, 17, tz = Sys.timezone(location = TRUE))
TestDateClass
[1] "2023-01-20 08:23:17 JST"

#classの確認
class(TestDateClass)
[1] "POSIXct" "POSIXt"

#date-time classの書式を整形
#西暦を取得:%y
format(TestDateClass, "%y")
[1] "23"
#オプションを大文字にすると

format(TestDateClass, "%Y")
[1] "2023"

#月を取得:%b
format(TestDateClass, "%b")
[1] "1"

#オプションを大文字にすると
format(TestDateClass, "%B")
[1] "1月"

#曜日と時間を取得:%c
format(TestDateClass, "%c")
[1] "金 1 20 08:23:17 2023"

#曜日を取得:%a
format(TestDateClass, "%a")
[1] "金"

#オプションを大文字にすると
format(TestDateClass, "%A")
[1] "金曜日"

#数値で取得:%w
format(TestDateClass, "%w")
[1] "5"

#月を取得:%m
format(TestDateClass, "%m")
[1] "01"

#日を取得:%d
format(TestDateClass, "%d")
[1] "20"

#24時間表示で時間を取得:%H
format(TestDateClass, "%H")
[1] "08"

#12時間表示で時間を取得:%I
#午前8時なので変化なし
format(TestDateClass, "%I")
[1] "08"

#午前/午後を取得:%p
format(TestDateClass, "%p")
[1] "午前"

#分を取得:%M
format(TestDateClass, "%M")
[1] "23"

#秒を取得:%S
format(TestDateClass, "%S")
[1] "17"

#指定した日が元旦から何日目かを取得:%j
format(TestDateClass, "%j")
[1] "020"

#指定した日が元旦から何週目かを取得
#月曜日を週初めとする:%W
format(TestDateClass, "%W")
[1] "03"

#日曜日を週初めとする:%U
format(TestDateClass, "%U")
[1] "03"

#paste0コマンドとの組み合わせ
#うるう年は考慮していません
format(TestDateClass, paste0("%B", "%d", "日です。",
                             "今年はあと",
                             366-as.numeric(format(TestDateClass, "%j")), "日で終了です。"))
[1] "1月20日です。今年はあと346日で終了です。"

少しでも、あなたの解析が楽になりますように!!

タイトルとURLをコピーしました