R'de lubridate ile bir tarih dizisi nasıl oluşturulur?
R’deki lubridate paketini kullanarak bir tarih dizisi oluşturmak için aşağıdaki temel sözdizimini kullanabilirsiniz:
seq(ymd(' 2022-01-01 '), ymd(' 2022-10-31 '), by=' 1 week ')
Bu özel örnek, bir haftalık aralıklarla 1/1/2022’den 31/10/2022’ye kadar bir tarih dizisi oluşturacaktır.
Farklı bir aralık kullanmak için haftayı gün, ay, çeyrek, yıl vb. gibi başka bir zaman birimiyle değiştirmeniz yeterlidir.
Aşağıdaki örnekler, pratikte bir tarih dizisi oluşturmak için bu sözdiziminin nasıl kullanılacağını göstermektedir.
Örnek 1: Günlere göre bir tarih dizisi oluşturun
Aşağıdaki kod, 01/01/2022 ile 02/15/2022 tarihleri arasında günlük bir tarih dizisinin nasıl oluşturulacağını gösterir:
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"
Sonuç, 1/1/2022 ile 25/02/2022 arasındaki 46 tarihten oluşan bir dizidir.
Not : 1 gün girmek yerine sadece gün de girebilirsiniz.
Örnek 2: haftalara göre bir tarih dizisi oluşturun
Aşağıdaki kod, 01/01/2022 ile 02/15/2022 tarihleri arasında haftalık bir tarih dizisinin nasıl oluşturulacağını gösterir:
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"
Sonuç, 1/1/2022 ile 25/02/2022 tarihleri arasındaki haftalık 7 tarihten oluşan bir dizidir.
01/1/2022 ile 25/02/2022 tarihleri arasında 2 haftalık aralıklarla bir tarih dizisi oluşturmak için aşağıdaki kodu da kullanabiliriz:
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"
Sonuç, 2 hafta arayla 01/01/2022 ile 02/25/2022 tarihleri arasında giden 4 tarihten oluşan bir dizidir.
Örnek 3: Aylık bir tarih dizisi oluşturun
Aşağıdaki kod, 01/01/2022 ile 31/10/2022 tarihleri arasında aylık bir tarih dizisinin nasıl oluşturulacağını gösterir:
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"
Sonuç, 01/01/2022 ile 31/02/1022 tarihleri arasındaki aylık 10 tarihten oluşan bir dizidir.
Bu eğitimde, lubridate paketini kullanarak tarih dizisinin nasıl oluşturulacağına ilişkin yalnızca birkaç örnek paylaştığımızı unutmayın.
İstediğiniz belirli tarih sırasını oluşturmak için başlangıç tarihini, bitiş tarihini ve aralığını değiştirmekten çekinmeyin.
Ek kaynaklar
Aşağıdaki eğitimlerde R’de diğer ortak görevlerin nasıl gerçekleştirileceği açıklanmaktadır:
R’de bir tarihin sayısala dönüştürülmesi
R’deki tarihten ay nasıl çıkarılır
R’de bir tarihe aylar nasıl eklenir ve çıkarılır?