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

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

as.period()の概要

as.period()は、IntervalおよびDuration、difftime、numericクラスのオブジェクトを、指​​定された単位を持つPeriodクラスのオブジェクトに変換するための関数です。

as.period()の使い方


as.period(x, unit, ...)

as.period()の引数

x

intervalまたはdifftime、numericオブジェクトを指定します。

unit

期間を構築する時間単位を指定する文字列を指定します。
unitは、as.period.numericメソッドとas.period.intervalメソッドでのみ実装されています。as.period.intervalメソッドの場合、as.periodは指定された単位以下の単位に期間を変換します。

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

as.period()の戻り値

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

準備

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


library(tidyverse)

使用例

IntervalオブジェクトをPeriodオブジェクトに変換するには次のようにします。


interval(ymd("2000-01-01"), ymd("2010-06-30")) |>
  as.period()

[1] "10y 5m 29d 0H 0M 0S"