R×lubridate::as.interval オブジェクトをIntervalに変換する

R言語で、difftimeおよびDuration、Period、numericクラスのオブジェクトを、指​​定された日時から始まる間隔に変換する方法について解説します。時間に関する処理はtidyverseパッケージに含まれているlubridateパッケージを使うのがとても便利です。ここでは、lubridateパッケージのas.interval()の使用方法についてお伝えします。

as.interval()の概要

as.interval()は、difftimeおよびDuration、Period、numericクラスのオブジェクトを、指​​定された日時から始まる間隔に変換するための関数です。数値オブジェクトは、まず、指定された秒数の数値に等しい時間範囲に強制変換されます。

as.interval()の使い方


as.interval(x, start, ...)

as.interval()の引数

x

間隔の長さを表すdurationまたはdifftime、period、numericオブジェクトを指定します。

start

間隔の開始時刻を表すPOSIXtまたはDateオブジェクトを指定します。

as.intervalに渡す追加の引数を指定します。

as.interval()の戻り値

Intervalオブジェクトを返します。

準備

あらかじめ、tidyverseパッケージを読み込んでおきます。


library(tidyverse)

使用例

指定した年月日から1か月後までのIntervalオブジェクトを取得するには次のようにします。


as.interval(period(months = 1), start = ymd("2010-06-15"))

[1] 2010-06-15 UTC--2010-07-15 UTC