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