R言語のlubridateパッケージに含まれているdate()関数について解説します。この関数は、「日時データ(POSIXct型など)から『日付(Date型)』の部分だけを綺麗に取り出したい(抽出・変換したい)」ときに使える関数です。時間やタイムゾーンの情報が含まれているデータから、不要な「時・分・秒」を切り捨てて、純粋なカレンダー日として扱いたい場合に非常に重宝します。
lubridateパッケージは、日付と時間データを操作するための強力で便利な関数を多く取り扱っています。また、Rのデータサイエンス向け主要パッケージ群であるtidyverseパッケージにも含まれています。
概要
date()は、日時オブジェクトの年月日要素を取得または設定するための関数です。
使い方
date(x)
date(x) <- value
引数
x
日時オブジェクトを指定します。
value
date()関数が定義されているオブジェクトを指定します。
使用例
準備
あらかじめ、tidyverseパッケージまたはlubridateパッケージを読み込んでおきます。
# library(tidyverse)でもよい
library(lubridate)
年月日を取得する
年月日を取得するには次のようにします。
x <- ymd_hms(c("2001-01-01 01:01:01", "2002-02-02 02:02:02", "2003-03-03 03:03:03"))
date(x)
[1] "2001-01-01" "2002-02-02" "2003-03-03"
年月日を設定する
年月日を設定するには次のようにします。
date(x) <- c("2011-01-01", "2012-02-02", "2013-03-03")
x
[1] "2011-01-01 01:01:01 UTC" "2012-02-02 02:02:02 UTC" "2013-03-03 03:03:03 UTC"