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