So berechnen sie die kumulative summe pro gruppe in r
Sie können die folgenden Methoden verwenden, um eine kumulative Summe pro Gruppe in R zu berechnen:
Methode 1: Verwenden Sie Base R
df$cum_sum <- ave(df$values_var, df$group_var, FUN=cumsum)
Methode 2: dplyr verwenden
library (dplyr)
df %>% group_by(group_var) %>% mutate(cum_sum = cumsum(values_var))
Methode 3: Verwenden Sie data.table
library (data.table)
setDT(df)[, cum_sum := cumsum(values_var), group_var]
Die folgenden Beispiele zeigen, wie jede Methode in der Praxis mit dem folgenden Datenrahmen in R verwendet wird:
#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
Beispiel 1: Berechnen Sie die kumulative Summe pro Gruppe mithilfe der R-Basis
Der folgende Code zeigt, wie die R-Datenbankfunktion ave() verwendet wird, um die kumulative Summe der Verkäufe , gruppiert nach Filiale, zu berechnen:
#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
Die neue Spalte „ cum_sales“ zeigt die kumulierte Summe der Verkäufe , gruppiert nach Filiale, an.
Beispiel 2: Berechnen Sie die kumulative Summe pro Gruppe mit dplyr
Der folgende Code zeigt, wie verschiedene Funktionen aus dem dplyr-Paket in R verwendet werden, um die kumulative Summe der Verkäufe , gruppiert nach Geschäft, zu berechnen:
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
Die neue Spalte „ cum_sales“ zeigt die kumulierte Summe der Verkäufe , gruppiert nach Filiale, an.
Beispiel 3: Berechnen Sie die kumulative Summe nach Gruppe mithilfe von data.table
Der folgende Code zeigt, wie verschiedene Funktionen aus dem data.table-Paket in R verwendet werden, um die kumulative Summe der Verkäufe , gruppiert nach Filiale, zu berechnen:
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
Die neue Spalte „ cum_sales“ zeigt die kumulierte Summe der Verkäufe , gruppiert nach Filiale, an.
Hinweis : Alle drei Methoden führen zum gleichen Ergebnis. Allerdings sind die Methoden dplyr und data.table tendenziell schneller, wenn mit extrem großen Datenrahmen gearbeitet wird.
Zusätzliche Ressourcen
In den folgenden Tutorials wird erläutert, wie Sie andere gängige Berechnungen in R durchführen:
So berechnen Sie die Summe nach Gruppe in R
So berechnen Sie den Mittelwert pro Gruppe in R
So berechnen Sie die Standardabweichung nach Gruppe in R