Der vollständige leitfaden: so gruppieren und fassen sie daten in r zusammen
Zwei der häufigsten Aufgaben, die Sie bei der Datenanalyse ausführen, sind das Gruppieren und Zusammenfassen von Daten.
Glücklicherweise können Sie mit dem dplyr- Paket in R Daten schnell gruppieren und zusammenfassen.
Dieses Tutorial bietet eine Kurzanleitung für den Einstieg in dplyr.
Installieren und laden Sie das dplyr-Paket
Bevor Sie die Funktionen im dplyr-Paket nutzen können, müssen Sie zunächst das Paket laden:
#install dplyr (if not already installed)
install.packages(' dplyr ')
#load dplyr
library(dplyr)
Als Nächstes veranschaulichen wir mehrere Beispiele für die Verwendung der dplyr-Funktionen zum Gruppieren und Zusammenfassen von Daten mithilfe des integrierten R-Datensatzes namens mtcars :
#obtain rows and columns of mtcars dim(mtcars) [1] 32 11 #view first six rows of mtcars head(mtcars) mpg cyl disp hp drat wt qsec vs am gear carb Mazda RX4 21.0 6 160 110 3.90 2.620 16.46 0 1 4 4 Mazda RX4 Wag 21.0 6 160 110 3.90 2.875 17.02 0 1 4 4 Datsun 710 22.8 4 108 93 3.85 2.320 18.61 1 1 4 1 Hornet 4 Drive 21.4 6 258 110 3.08 3.215 19.44 1 0 3 1 Hornet Sportabout 18.7 8 360 175 3.15 3.440 17.02 0 0 3 2 Valiant 18.1 6 225 105 2.76 3,460 20.22 1 0 3 1
Die grundlegende Syntax, die wir zum Gruppieren und Zusammenfassen von Daten verwenden werden, ist:
data %>% group_by (col_name) %>% summarize (summary_name = summary_function)
Hinweis: Die Funktionen summary() und summary() sind gleichwertig.
Beispiel 1: Ermitteln Sie den Mittelwert und den Median nach Gruppe
Der folgende Code zeigt, wie Maße der zentralen Tendenz nach Gruppe einschließlich Mittelwert und Median berechnet werden:
#find mean mpg by cylinder mtcars %>% group_by (cyl) %>% summarize (mean_mpg = mean(mpg, na.rm = TRUE )) # A tibble: 3 x 2 cyl mean_mpg 1 4 26.7 2 6 19.7 3 8 15.1 #find median mpg by cylinder mtcars %>% group_by (cyl) %>% summarize (median_mpg = median(mpg, na.rm = TRUE )) # A tibble: 3 x 2 cyl median_mpg 1 4 26 2 6 19.7 3 8 15.2
Beispiel 2: Ermittlung von Ausbreitungsmaßen nach Gruppe
Der folgende Code zeigt, wie Streuungsmaße nach Gruppe berechnet werden, einschließlich Standardabweichung, Interquartilbereich und absoluter Medianabweichung:
#find sd, IQR, and mad by cylinder mtcars %>% group_by (cyl) %>% summarize (sd_mpg = sd(mpg, na.rm = TRUE ), iqr_mpg = IQR(mpg, na.rm = TRUE ), mad_mpg = mad(mpg, na.rm = TRUE )) # A tibble: 3 x 4 cyl sd_mpg iqr_mpg mad_mpg 1 4 4.51 7.60 6.52 2 6 1.45 2.35 1.93 3 8 2.56 1.85 1.56
Beispiel 3: Nummer nach Gruppe suchen
Der folgende Code zeigt, wie man Nummern und eindeutige Nummern nach Gruppe in R findet:
#find row count and unique row count by cylinder mtcars %>% group_by (cyl) %>% summarize (count_mpg = n(), u_count_mpg = n_distinct(mpg)) # A tibble: 3 x 3 cyl count_mpg u_count_mpg 1 4 11 9 2 6 7 6 3 8 14 12
Beispiel 4: Perzentil nach Gruppe ermitteln
Der folgende Code zeigt, wie man das 90. Perzentil der mpg-Werte nach Zylindergruppe ermittelt:
#find 90th percentile of mpg for each cylinder group mtcars %>% group_by (cyl) %>% summarize (quant90 = quantile(mpg, probs = .9)) # A tibble: 3 x 2 cyl quant90 1 4 32.4 2 6 21.2 3 8 18.3
Zusätzliche Ressourcen
Die vollständige Dokumentation des dplyr-Pakets sowie hilfreiche Visualisierungs-Spickzettel finden Sie hier .
Zu den weiteren nützlichen Funktionen, die Sie mit group_by() und summary() verwenden können, gehören Funktionen, um die Zeilen des Datenrahmens zu filtern und sie in bestimmten Reihenfolgen anzuordnen .