R'de grup başına kümülatif toplam nasıl hesaplanır?


R’de grup başına kümülatif toplamı hesaplamak için aşağıdaki yöntemleri kullanabilirsiniz:

Yöntem 1: Base R’yi kullanın

 df$cum_sum <- ave(df$values_var, df$group_var, FUN=cumsum)

Yöntem 2: dplyr’ı kullanın

 library (dplyr)

df %>% group_by(group_var) %>% mutate(cum_sum = cumsum(values_var))

Yöntem 3: data.table’ı kullanma

 library (data.table)

setDT(df)[, cum_sum := cumsum(values_var), group_var] 

Aşağıdaki örnekler, R’deki aşağıdaki veri çerçevesiyle her yöntemin pratikte nasıl kullanılacağını gösterir:

 #create data frame
df <- data. frame (store=rep(c(' A ', ' B ', ' C '), each= 4 ),
                 sales=c(3, 4, 4, 2, 5, 8, 9, 7, 6, 8, 3, 2))

#view data frame
df

   blind sales
1 to 3
2 to 4
3 to 4
4 to 2
5 B 5
6 B 8
7 B 9
8 B 7
9 C 6
10 C 8
11 C 3
12 C 2

Örnek 1: R tabanını kullanarak grup başına kümülatif toplamı hesaplayın

Aşağıdaki kod, mağazaya göre gruplandırılmış satışların kümülatif toplamını hesaplamak için R veritabanı ave() işlevinin nasıl kullanılacağını gösterir:

 #add column to show cumulative sales by store
df$cum_sales <- ave(df$sales, df$store, FUN=cumsum)

#view updated data frame
df

   store sales cum_sales
1 to 3 3
2 to 4 7
3 to 4 11
4 to 2 13
5 B 5 5
6 B 8 13
7 B 9 22
8 B 7 29
9 C 6 6
10 C 8 14
11 C 3 17
12 C 2 19

Cum_sales adı verilen yeni sütun, mağazaya göre gruplandırılmış kümülatif satış toplamını görüntüler.

Örnek 2: dplyr kullanarak grup başına kümülatif toplamı hesaplama

Aşağıdaki kod, mağazaya göre gruplandırılmış kümülatif satış toplamını hesaplamak için R’deki dplyr paketindeki çeşitli işlevlerin nasıl kullanılacağını gösterir:

 library (dplyr)

#add column to show cumulative sales by store
df %>% group_by(store) %>% mutate(cum_sales = cumsum(sales))

#view updated data frame
df

# A tibble: 12 x 3
# Groups: store [3]
   store sales cum_sales
         
 1 to 3 3
 2 to 4 7
 3 to 4 11
 4 to 2 13
 5 B 5 5
 6 B 8 13
 7 B 9 22
 8 B 7 29
 9 C 6 6
10 C 8 14
11 C 3 17
12 C 2 19

Cum_sales adı verilen yeni sütun, mağazaya göre gruplandırılmış kümülatif satış toplamını görüntüler.

Örnek 3: data.table’ı kullanarak gruba göre kümülatif toplamı hesaplama

Aşağıdaki kod, mağazaya göre gruplandırılmış kümülatif satış toplamını hesaplamak için R’deki data.table paketindeki çeşitli işlevlerin nasıl kullanılacağını gösterir:

 library (data.table)

#add column to show cumulative sales by store
setDT(df)[, cum_sales := cumsum(sales), store] 

#view updated data frame
df

    store sales cum_sales
 1: A 3 3
 2: A 4 7
 3: A 4 11
 4: A 2 13
 5: B 5 5
 6: B 8 13
 7: B 9 22
 8: B 7 29
 9: C 6 6
10: C 8 14
11: C 3 17
12: C 2 19

Cum_sales adı verilen yeni sütun, mağazaya göre gruplandırılmış kümülatif satış toplamını görüntüler.

Not : Her üç yöntem de aynı sonucu verir. Ancak dplyr ve data.table yöntemleri aşırı büyük veri çerçeveleriyle çalışırken daha hızlı olma eğiliminde olacaktır.

Ek kaynaklar

Aşağıdaki eğitimlerde R’de diğer yaygın hesaplamaların nasıl gerçekleştirileceği açıklanmaktadır:

R’de gruba göre toplam nasıl hesaplanır
R’de grup başına ortalama nasıl hesaplanır
R’de gruba göre standart sapma nasıl hesaplanır

Yorum ekle

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