Cara menghitung jumlah kumulatif per grup di r


Anda dapat menggunakan metode berikut untuk menghitung jumlah kumulatif per grup di R:

Metode 1: Gunakan Basis R

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

Metode 2: gunakan dplyr

 library (dplyr)

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

Metode 3: Gunakan data.tabel

 library (data.table)

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

Contoh berikut menunjukkan cara menggunakan setiap metode dalam praktik dengan kerangka data berikut di R:

 #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

Contoh 1: hitung jumlah kumulatif per kelompok menggunakan basis R

Kode berikut menunjukkan cara menggunakan fungsi database R ave() untuk menghitung jumlah kumulatif penjualan , yang dikelompokkan berdasarkan toko :

 #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

Kolom baru bernama cum_sales menampilkan jumlah kumulatif penjualan , yang dikelompokkan berdasarkan toko .

Contoh 2: Hitung jumlah kumulatif per grup menggunakan dplyr

Kode berikut menunjukkan cara menggunakan berbagai fungsi dari paket dplyr di R untuk menghitung jumlah kumulatif penjualan , yang dikelompokkan berdasarkan toko :

 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

Kolom baru bernama cum_sales menampilkan jumlah kumulatif penjualan , yang dikelompokkan berdasarkan toko .

Contoh 3: Hitung jumlah kumulatif berdasarkan kelompok menggunakan data.tabel

Kode berikut menunjukkan cara menggunakan berbagai fungsi dari paket data.table di R untuk menghitung jumlah kumulatif penjualan , yang dikelompokkan berdasarkan toko :

 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

Kolom baru bernama cum_sales menampilkan jumlah kumulatif penjualan , yang dikelompokkan berdasarkan toko .

Catatan : Ketiga metode menghasilkan hasil yang sama. Namun, metode dplyr dan data.table akan cenderung lebih cepat ketika bekerja dengan frame data yang sangat besar.

Sumber daya tambahan

Tutorial berikut menjelaskan cara melakukan penghitungan umum lainnya di R:

Cara menghitung jumlah berdasarkan kelompok di R
Cara menghitung mean per grup di R
Cara menghitung simpangan baku berdasarkan kelompok di R

Tambahkan komentar

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