R言語のlubridateパッケージに含まれているis.instant()関数について解説します。この関数は、「あるオブジェクトが、時間軸上の『特定の瞬間(時点)』を表すデータ型かどうかを判定したい」ときに使える関数です。具体的には、Dateクラス(日付)やPOSIXct / POSIXltクラス(日時)など、特定の「点」を指すオブジェクトに対してTRUEを返します。逆に、期間や時間の間隔を表すDurationやPeriod、Intervalなどに対してはFALSEになります。
lubridateパッケージは、日付と時間データを操作するための強力で便利な関数を多く取り扱っています。また、Rのデータサイエンス向け主要パッケージ群であるtidyverseパッケージにも含まれています。
概要
is.instant()は、日付時刻オブジェクト(例:POSIXct、POSIXlt、Dateオブジェクト)かどうかを判定するための関数です。
使い方
is.instant(x)
引数
x
オブジェクトを指定します。
戻り値
xが日付時刻オブジェクト(例:POSIXct、POSIXlt、Dateオブジェクト)の場合はTRUE、それ以外の場合はFALSEです。
使用例
準備
あらかじめ、tidyverseパッケージまたはlubridateパッケージを読み込んでおきます。
# library(tidyverse)でもよい
library(lubridate)
日付時刻オブジェクトかどうかを判定する
is.instant(as.Date("2020-06-15"))
[1] TRUE
is.instant(make_difftime(day = -1))
[1] FALSE