R'de veriler haftaya göre gruplandırma (örnekle)


Verileri R’de haftaya göre gruplamak için R tabanındaki strftime() işlevini “ %V ” argümanıyla kullanabilirsiniz.

Bu işlev aşağıdaki temel sözdizimini kullanır:

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

Aşağıdaki örnekte bu fonksiyonun pratikte nasıl kullanılacağı gösterilmektedir.

Örnek: verileri R’de haftaya göre gruplama

R’de bir ürünün farklı tarihlerdeki toplam satışını gösteren aşağıdaki veri çerçevesine sahip olduğumuzu varsayalım:

 #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

Her tarihin hafta numarasını görüntüleyen bir sütun eklemek için aşağıdaki kodu kullanabiliriz:

 #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

Not : Belgelere göre, %V% tarih sayılarını şu şekilde hesaplar: “yılın hafta numarası (haftanın ilk günü olarak Pazartesi) ondalık sayı olarak [01,53].” 1 Ocak’ı içeren hafta, yeni yılda dört veya daha fazla gün içeriyorsa 1. hafta olarak kabul edilir. Aksi takdirde bir önceki yılın son haftası, takip eden hafta ise 1. haftadır.”

Bu yeni sütunu oluşturduktan sonra değerleri hafta sayısına göre gruplayabiliriz.

Örneğin, haftaya göre gruplandırılmış satışların toplamını hesaplamak için aşağıdaki kodu kullanabiliriz:

 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

Sonuçtan şunu görebiliriz:

  • 1. haftadaki satışların toplamı 22 oldu.
  • 6. haftadaki satışların toplamı 22 oldu.
  • 7. haftadaki satışların toplamı 23 oldu.

Ve benzeri.

Verileri toplamak için başka bir metrik de kullanabiliriz.

Örneğin, haftaya göre gruplandırılmış ortalama satışları hesaplamak için aşağıdaki kodu kullanabiliriz:

 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

Sonuçtan şunu görebiliriz:

  • 1. haftadaki ortalama satış 11’di .
  • 6. haftada ortalama satış 22 oldu.
  • 7. haftadaki ortalama satış 23 oldu.

Ve benzeri.

Ek kaynaklar

Aşağıdaki eğitimlerde R’de diğer ortak görevlerin nasıl gerçekleştirileceği açıklanmaktadır:

Veriler R cinsinden aya göre nasıl gruplanır?
R’deki tarihten yıl nasıl çıkarılır
R’deki tarihten ay nasıl çıkarılır
R’de bir veri çerçevesi tarihe göre nasıl sıralanır

Yorum ekle

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir