So berechnen sie relative häufigkeiten mit dplyr
Häufig möchten Sie möglicherweise die relativen Häufigkeiten/Anteile von Werten in einer oder mehreren Spalten eines Datenrahmens in R berechnen.
Glücklicherweise ist dies mit den Funktionen im dplyr- Paket einfach zu bewerkstelligen. Dieses Tutorial zeigt, wie Sie diese Funktionen verwenden, um relative Häufigkeiten im folgenden Datenrahmen zu berechnen:
#create data frame df <- data.frame(team = c('A', 'A', 'A', 'B', 'B', 'B', 'B'), position = c('G', 'F', 'F', 'G', 'G', 'G', 'F'), points = c(12, 15, 19, 22, 32, 34, 39)) #view data frame df team position points 1 AG 12 2 AF15 3 FY 19 4 BG 22 5 BG 32 6 BG 34 7 BF 39
Beispiel 1: Relative Häufigkeit einer Variablen
Der folgende Code zeigt, wie die relative Häufigkeit jedes Teams im Datenrahmen berechnet wird:
library(dplyr) df %>% group_by (team) %>% summarize (n = n()) %>% mutate (freq = n / sum(n)) # A tibble: 2 x 3 team n freq 1 to 3 0.429 2 B 4 0.571
Dies zeigt uns, dass Team A 42,9 % aller Zeilen im Datenrahmen ausmacht, während Team B die restlichen 57,1 % der Zeilen ausmacht. Beachten Sie, dass sie zusammen 100 % ergeben.
Verwandte Themen: Der vollständige Leitfaden: So gruppieren und fassen Sie Daten in R zusammen
Beispiel 2: Relative Häufigkeit mehrerer Variablen
Der folgende Code zeigt, wie die relative Häufigkeit der Positionen pro Team berechnet wird:
library(dplyr) df %>% group_by (team, position) %>% summarize (n = n()) %>% mutate (freq = n / sum(n)) # A tibble: 4 x 4 # Groups: team [2] team position n freq 1 AF 2 0.667 2 AG 1 0.333 3 BF 1 0.250 4 BG 3 0.750
Dies sagt uns Folgendes:
- 66,7 % der Spieler von Team A befinden sich auf Position F.
- 33,3 % der Spieler von Team A befinden sich auf Position G.
- 25,0 % der Spieler von Team A befinden sich auf Position F.
- 75,0 % der Spieler der Mannschaft B befinden sich auf der G-Position.
Verwandte Themen: So verwenden Sie Mutate zum Erstellen neuer Variablen in R
Beispiel 3: Relative Häufigkeiten als Prozentsätze anzeigen
Der folgende Code zeigt, wie die relative Häufigkeit von Positionen pro Team berechnet und diese relativen Häufigkeiten als Prozentsätze angezeigt werden:
library(dplyr) df %>% group_by (team, position) %>% summarize (n = n()) %>% mutate (freq = paste0(round(100 * n/sum(n), 0), ' % ')) # A tibble: 4 x 4 # Groups: team [2] team position n freq 1 AF 2 67% 2 GA 1 33% 3 BF 1 25% 4 BG 3 75%
Weitere R-Tutorials finden Sie hier .