R で lubridate を使用して日付シーケンスを生成する方法
R のlubridateパッケージを使用して一連の日付を生成するには、次の基本構文を使用できます。
seq(ymd(' 2022-01-01 '), ymd(' 2022-10-31 '), by=' 1 week ')
この特定の例では、 2022 年 1 月 1 日から 2022 年10 月 31 日までの一連の日付を1 週間間隔で生成します。
別の間隔を使用するには、週を日、月、四半期、年などの別の時間単位に置き換えるだけです。
次の例は、この構文を使用して一連の日付を実際に生成する方法を示しています。
例 1: 日ごとの日付のシーケンスを生成する
次のコードは、1 日あたり 01/01/2022 から 02/15/2022 までの一連の日付を生成する方法を示しています。
library (lubridate)
#generate sequence of dates from 1/1/2022 to 2/15/2022 by day
seq(ymd(' 2022-01-01 '), ymd(' 2022-02-15 '), by=' 1 day ')
[1] "2022-01-01" "2022-01-02" "2022-01-03" "2022-01-04" "2022-01-05"
[6] "2022-01-06" "2022-01-07" "2022-01-08" "2022-01-09" "2022-01-10"
[11] "2022-01-11" "2022-01-12" "2022-01-13" "2022-01-14" "2022-01-15"
[16] "2022-01-16" "2022-01-17" "2022-01-18" "2022-01-19" "2022-01-20"
[21] "2022-01-21" "2022-01-22" "2022-01-23" "2022-01-24" "2022-01-25"
[26] "2022-01-26" "2022-01-27" "2022-01-28" "2022-01-29" "2022-01-30"
[31] "2022-01-31" "2022-02-01" "2022-02-02" "2022-02-03" "2022-02-04"
[36] "2022-02-05" "2022-02-06" "2022-02-07" "2022-02-08" "2022-02-09"
[41] "2022-02-10" "2022-02-11" "2022-02-12" "2022-02-13" "2022-02-14"
[46] "2022-02-15"
結果は、2022 年 1 月 1 日から 2022 年 2 月 25 日までの 46 個の日付のシーケンスになります。
注: 1 日を入力する代わりに、単に日を入力することもできます。
例 2: 週ごとの日付のシーケンスを生成する
次のコードは、01/01/2022 から 02/15/2022 までの一連の日付を週ごとに生成する方法を示しています。
library (lubridate)
#generate sequence of dates from 1/1/2022 to 2/15/2022 by week
seq(ymd(' 2022-01-01 '), ymd(' 2022-02-15 '), by=' 1 week ')
[1] "2022-01-01" "2022-01-08" "2022-01-15" "2022-01-22" "2022-01-29"
[6] "2022-02-05" "2022-02-12"
結果は、2022 年 1 月 1 日から 2022 年 2 月 25 日までの週ごとの 7 つの日付のシーケンスになります。
次のコードを使用して、2022 年 1 月 1 日から 2022 年 2 月 25 日までの一連の日付を2 週間間隔で生成することもできます。
library (lubridate)
#generate sequence of dates from 1/1/2022 to 2/15/2022 by 2 weeks
seq(ymd(' 2022-01-01 '), ymd(' 2022-02-15 '), by=' 2 week ')
[1] "2022-01-01" "2022-01-15" "2022-01-29" "2022-02-12"
結果は、2022 年 1 月 1 日から 2022 年 2 月 25 日まで 2 週間間隔の 4 つの日付のシーケンスになります。
例 3: 月ごとの一連の日付を生成する
次のコードは、月ごとに 01/01/2022 から 10/31/2022 までの一連の日付を生成する方法を示しています。
library (lubridate)
#generate sequence of dates from 1/1/2022 to 10/31/2022 by month
seq(ymd(' 2022-01-01 '), ymd(' 2022-02-15 '), by=' 1 month ')
[1] "2022-01-01" "2022-02-01" "2022-03-01" "2022-04-01" "2022-05-01"
[6] "2022-06-01" "2022-07-01" "2022-08-01" "2022-09-01" "2022-10-01"
結果は、01/01/2022 から 10/31/02/2022 までの月ごとの 10 個の日付のシーケンスになります。
このチュートリアルでは、 lubridateパッケージを使用して日付シーケンスを生成する方法について、いくつかの例のみを共有したことに注意してください。
開始日、終了日、間隔を自由に変更して、必要な特定の日付シーケンスを作成します。
追加リソース
次のチュートリアルでは、R で他の一般的なタスクを実行する方法について説明します。