Cara mengelompokkan data berdasarkan minggu di r (dengan contoh)


Anda dapat menggunakan fungsi strftime() di basis R dengan argumen “ %V ” untuk mengelompokkan data berdasarkan minggu di R.

Fungsi ini menggunakan sintaks dasar berikut:

 df$week_num <- strftime(df$date, format = " %V ")

Contoh berikut menunjukkan cara menggunakan fungsi ini dalam praktiknya.

Contoh: mengelompokkan data berdasarkan minggu di R

Misalkan kita memiliki bingkai data berikut di R yang menunjukkan total penjualan suatu barang pada tanggal berbeda:

 #create data frame
df <- data. frame (date=as. Date (c('1/8/2022', '1/9/2022', '2/10/2022', '2/15/2022',
                                '3/5/2022', '3/22/2022', '3/27/2022'), '%m/%d/%Y'),
                 sales=c(8, 14, 22, 23, 16, 17, 23))

#view data frame
df

        dirty date
1 2022-01-08 8
2 2022-01-09 14
3 2022-02-10 22
4 2022-02-15 23
5 2022-03-05 16
6 2022-03-22 17
7 2022-03-27 23

Kita dapat menggunakan kode berikut untuk menambahkan kolom yang menampilkan nomor minggu setiap tanggal:

 #add column to show week number
df$week_num <- strftime(df$date, format = " %V ")

#view updated data frame
df

        date sales week_num
1 2022-01-08 8 01
2 2022-01-09 14 01
3 2022-02-10 22 06
4 2022-02-15 23 07
5 2022-03-05 16 09
6 2022-03-22 17 12
7 2022-03-27 23 12

Catatan : Menurut dokumentasi, beginilah cara %V% menghitung angka tanggal: “angka minggu dalam setahun (Senin sebagai hari pertama dalam seminggu) dalam desimal [01,53].” Jika minggu yang berisi tanggal 1 Januari mempunyai empat hari atau lebih pada tahun baru, maka dianggap minggu 1. Jika tidak, maka minggu terakhir tahun sebelumnya dan minggu berikutnya adalah minggu 1.”

Setelah kita membuat kolom baru ini, kita dapat mengelompokkan nilainya berdasarkan nomor minggu.

Misalnya, kita dapat menggunakan kode berikut untuk menghitung jumlah penjualan, yang dikelompokkan berdasarkan minggu:

 library (dplyr)

#calculate sum of sales, grouped by week
df %>%
  group_by(week_num) %>%
  summarize(total_sales = sum(sales))

# A tibble: 6 x 2
  week_num total_sales
            
1 01 22
2 06 22
3 07 23
4 09 16
5 12 40

Dari hasilnya kita dapat melihat:

  • Jumlah penjualan di minggu 1 adalah 22 .
  • Jumlah penjualan pada minggu ke 6 adalah 22 .
  • Jumlah penjualan pada minggu ke 7 adalah 23 .

Dan seterusnya.

Kami juga dapat menggunakan metrik lain untuk menggabungkan data.

Misalnya, kita dapat menggunakan kode berikut untuk menghitung rata-rata penjualan, yang dikelompokkan berdasarkan minggu:

 library (dplyr)

#calculate mean of sales, grouped by week
df %>%
  group_by(week_num) %>%
  summarize(mean_sales = mean(sales))

# A tibble: 5 x 2
  week_num mean_sales
           
1 01 11
2 06 22
3 07 23
4 09 16
5 12 20

Dari hasilnya kita dapat melihat:

  • Rata-rata penjualan di minggu 1 adalah 11 .
  • Rata-rata penjualan pada minggu ke 6 adalah 22 .
  • Rata-rata penjualan pada minggu ke 7 adalah 23 .

Dan seterusnya.

Sumber daya tambahan

Tutorial berikut menjelaskan cara melakukan tugas umum lainnya di R:

Cara mengelompokkan data berdasarkan bulan diR
Cara mengekstrak tahun dari tanggal di R
Cara mengekstrak bulan dari tanggal di R
Cara mengurutkan bingkai data berdasarkan tanggal di R

Tambahkan komentar

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