R言語で、日時オブジェクトの月要素を取得または設定する方法について解説します。時間に関する処理はtidyverseパッケージに含まれているlubridateパッケージを使うのがとても便利です。ここでは、lubridateパッケージのmonth()の使用方法についてお伝えします。
month()の概要
month()は、日時オブジェクトの月要素を取得または設定するための関数です。
month()の使い方
month(x, label = FALSE, abbr = TRUE, locale = Sys.getlocale("LC_TIME"))
month(x) <- value
month()の引数
x
日時オブジェクト(POSIXct、POSIXlt、Date、Period、chron、yearmon、yearqtr、zoo、zooreg、timeDate、xts、its、ti、jul、timeSeries、fts)を指定します。
label = FALSE
論理値を指定します。
- TRUE: 月は「January」などの文字列として表示
- FALSE: 月は数値として表示
abbr = TRUE
論理値を指定します。
- FALSE: 月は「January」のように文字列ラベルとして表示
- TRUE: ラベルの短縮形(「Jan」など)が表示
label = FALSE の場合、abbr は無視されます。
locale = Sys.getlocale("LC_TIME")
月の場合、月名に使用するロケールを指定します。
デフォルトは現在のロケールです。
準備
あらかじめ、tidyverseパッケージを読み込んでおきます。
library(tidyverse)
使用例
月を取得する
月を取得するには次のようにします。
x <- ymd(c("2001-01-01", "2002-02-02", "2003-03-03"))
month(x)
[1] 1 2 3
月を設定する
月を設定するには次のようにします。
month(x) <- c(6, 7, 8)
x
[1] "2001-06-01" "2002-07-02" "2003-08-03"