R'de i̇ş günleri nasıl hesaplanır (örneklerle)
R’deki iki tarih arasındaki iş günlerini hızla eklemek, çıkarmak ve saymak için R’deki bizdays paketi işlevlerini kullanabilirsiniz.
Aşağıdaki örnekler bu fonksiyonların pratikte nasıl kullanılacağını göstermektedir.
Örnek 1: R’de iki tarih arasındaki iş günü sayısını sayın
R’de iki tarih arasındaki iş günlerini saymak için, önce iş günlerinin listesini içeren bir takvim oluşturmak üzere bizdays paketindeki create.calendar() işlevini kullanmanız gerekir:
library (bizdays)
#create business calendar
business_calendar <- create. calendar (' my_calendar ',weekdays = c(' saturday ',' sunday '))
Hafta sonları bağımsız değişkeninin haftanın hangi günlerinin iş günü olmadığını belirttiğini unutmayın.
Daha sonra iki belirli tarih arasındaki iş günlerini saymak için bizdays() işlevini kullanabiliriz:
library (bizdays)
#calculate number of business days between two dates
bizdays(from = ' 2022-01-01 ', to = ' 2022-12-31 ', cal = business_calendar)
[1] 259
Sonuçtan 01/01/2022 ile 31/12/2022 tarihleri arasında 259 iş günü olduğunu görüyoruz.
Örnek 2: R’deki tarihe iş günlerini ekleme ve çıkarma
R’de, bir mağazada farklı tarihlerde yapılan toplam satışlarla ilgili bilgileri içeren aşağıdaki veri çerçevesine sahip olduğumuzu varsayalım:
#make this example reproducible
set. seeds (1)
#create data frame
df <- data. frame (date = as.Date (' 2022-01-01 ') + 0:249,
sales = runif(n=250, min=1, max=30))
#view head of data frame
head(df)
dirty date
1 2022-01-01 8.699751
2 2022-01-02 11.791593
3 2022-01-03 17.612748
4 2022-01-04 27.338026
5 2022-01-05 6.848776
6 2022-01-06 27.053301
Her tarihe 10 iş günü eklemek için bizdays paketindeki offset() işlevini kullanabiliriz:
library (bizdays)
#create business calendar
business_calendar <- create. calendar (' my_calendar ',weekdays = c(' saturday ',' sunday '))
#add 10 business days to each date
df$date <- bizdays::offset(df$date, 10 , cal = business_calendar)
#view updated head of data frame
head(df)
dirty date
1 2022-01-14 8.699751
2 2022-01-14 11.791593
3 2022-01-17 17.612748
4 2022-01-18 27.338026
5 2022-01-19 6.848776
6 2022-01-20 27.053301
Her tarihe 10 iş günü eklendiğini unutmayın.
İş günlerini çıkarmak için offset() işlevinde negatif bir sayı kullanmanız yeterlidir.
Örneğin, aşağıdaki kod her tarihten 10 iş gününün nasıl çıkarılacağını gösterir:
library (bizdays)
#create business calendar
business_calendar <- create. calendar (' my_calendar ',weekdays = c(' saturday ',' sunday '))
#subtract 10 business days to each date
df$date <- bizdays::offset(df$date, - 10 , cal = business_calendar)
#view updated head of data frame
head(df)
dirty date
1 2021-12-20 8.699751
2 2021-12-20 11.791593
3 2021-12-20 17.612748
4 2021-12-21 27.338026
5 2021-12-22 6.848776
6 2021-12-23 27.053301
Her tarihten 10 iş günü çıkarıldığını unutmayın.
Not : bizdays paketinin tam belgelerini burada bulabilirsiniz.
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?