So fassen sie mehrere spalten mit dplyr zusammen
Mit dplyr können Sie die folgenden Methoden verwenden, um mehrere Spalten in einem Datenrahmen zusammenzufassen:
Methode 1: Fassen Sie alle Spalten zusammen
#summarize mean of all columns df %>% group_by(group_var) %>% summarise(across(everything(), mean, na. rm = TRUE ))
Methode 2: Bestimmte Spalten zusammenfassen
#summarize mean of col1 and col2 only df %>% group_by(group_var) %>% summarise(across(c(col1, col2), mean, na. rm = TRUE ))
Methode 3: Alle numerischen Spalten zusammenfassen
#summarize mean and standard deviation of all numeric columns df %>% group_by(group_var) %>% summarise(across(where(is. numeric ), list(mean=mean, sd=sd), na. rm = TRUE ))
Die folgenden Beispiele zeigen, wie jede Methode mit dem folgenden Datenrahmen verwendet wird:
#create data frame df <- data. frame (team=c('A', 'A', 'A', 'B', 'B', 'B'), points=c(99, 90, 86, 88, 95, 90), assists=c(33, 28, 31, 39, 34, 25), rebounds=c(NA, 28, 24, 24, 28, 19)) #view data frame df team points assists rebounds 1 A 99 33 NA 2 A 90 28 28 3 A 86 31 24 4 B 88 39 24 5 B 95 34 28 6 B 90 25 19
Beispiel 1: Alle Spalten zusammenfassen
Der folgende Code zeigt, wie der Durchschnitt aller Spalten zusammengefasst wird:
library (dplyr) #summarize mean of all columns, grouped by team df %>% group_by(team) %>% summarise(across(everything(), mean, na. rm = TRUE )) # A tibble: 2 x 4 team points assists rebounds 1 A 91.7 30.7 26 2 B 91 32.7 23.7
Beispiel 2: Bestimmte Spalten zusammenfassen
Der folgende Code zeigt, wie der Durchschnitt nur der Spalten „Punkte “ und „Rebounds“ zusammengefasst wird:
library (dplyr) #summarize mean of points and rebounds, grouped by team df %>% group_by(team) %>% summarise(across(c(points, rebounds), mean, na. rm = TRUE )) # A tibble: 2 x 3 team points rebounds 1 A 91.7 26 2 B 91 23.7
Beispiel 3: Fassen Sie alle numerischen Spalten zusammen
Der folgende Code zeigt, wie der Mittelwert und die Standardabweichung aller numerischen Spalten im Datenrahmen zusammengefasst werden:
library (dplyr) #summarize mean and standard deviation of all numeric columns df %>% group_by(team) %>% summarise(across(where(is. numeric ), list(mean=mean, sd=sd), na. rm = TRUE )) # A tibble: 2 x 7 team points_mean points_sd assists_mean assists_sd rebounds_mean rebounds_sd 1 A 91.7 6.66 30.7 2.52 26 2.83 2 B 91 3.61 32.7 7.09 23.7 4.51
Die Ausgabe zeigt den Mittelwert und die Standardabweichung aller numerischen Variablen im Datenrahmen an.
Beachten Sie, dass wir in diesem Beispiel die Funktion list() verwendet haben, um mehrere zusammenfassende Statistiken aufzulisten, die wir berechnen wollten.
Hinweis : In jedem Beispiel haben wir die Funktion dplyr across() verwendet. Die vollständige Dokumentation zu dieser Funktion finden Sie hier .
Zusätzliche Ressourcen
In den folgenden Tutorials wird erläutert, wie Sie mit dplyr weitere gängige Funktionen ausführen:
So löschen Sie Zeilen mit dplyr
So ordnen Sie Zeilen mit dplyr an
So filtern Sie mit dplyr nach mehreren Bedingungen