Cara menghitung hari kerja di r (dengan contoh)


Anda dapat menggunakan fungsi paket bizdays di R untuk menambah, mengurangi, dan menghitung jumlah hari kerja antara dua tanggal di R dengan cepat.

Contoh berikut menunjukkan cara menggunakan fungsi-fungsi ini dalam praktik.

Contoh 1: Hitung jumlah hari kerja antara dua tanggal di R

Untuk menghitung jumlah hari kerja antara dua tanggal di R, Anda harus terlebih dahulu menggunakan fungsi create.calendar() dari paket bizdays untuk membuat kalender yang berisi daftar hari kerja:

 library (bizdays)

#create business calendar
business_calendar <- create. calendar (' my_calendar ',weekdays = c(' saturday ',' sunday '))

Perhatikan bahwa argumen akhir pekan menentukan hari mana dalam seminggu yang bukan hari kerja.

Kita kemudian dapat menggunakan fungsi bizdays() untuk menghitung jumlah hari kerja antara dua tanggal tertentu:

 library (bizdays)

#calculate number of business days between two dates
bizdays(from = ' 2022-01-01 ', to = ' 2022-12-31 ', cal = business_calendar)

[1] 259

Dari hasil tersebut terlihat ada 259 hari kerja antara 01/01/2022 hingga 31/12/2022.

Contoh 2: Menambah dan mengurangi hari kerja dari tanggal di R

Misalkan kita memiliki bingkai data berikut di R yang berisi informasi tentang total penjualan yang dilakukan di sebuah toko pada tanggal berbeda:

 #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

Kita dapat menggunakan fungsi offset() dari paket bizdays untuk menambahkan 10 hari kerja pada setiap tanggal:

 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

Perhatikan bahwa 10 hari kerja telah ditambahkan ke setiap tanggal.

Untuk mengurangi hari kerja, cukup gunakan angka negatif di fungsi offset() .

Misalnya, kode berikut menunjukkan cara mengurangi 10 hari kerja dari setiap tanggal:

 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

Perhatikan bahwa 10 hari kerja telah dikurangi dari setiap tanggal.

Catatan : Anda dapat menemukan dokumentasi lengkap untuk paket bizdays di sini .

Sumber daya tambahan

Tutorial berikut menjelaskan cara melakukan tugas umum lainnya di R:

Bagaimana cara mengubah tanggal menjadi angka di R
Cara mengekstrak bulan dari tanggal di R
Cara menambah dan mengurangi bulan ke tanggal di R

Tambahkan komentar

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *