So berechnen Sie relative Häufigkeiten mit dplyr

Von Fabian
Kategorie: R
Tags: dplyr
Lesezeit: 2 Minuten

Oft möchten Sie möglicherweise die relativen Häufigkeiten / Anteile von Werten in einer oder mehreren Spalten eines Dataframes in R berechnen.

Glücklicherweise ist dies mit Funktionen aus dem dplyr-Paket einfach zu bewerkstelligen. Dieses Tutorial zeigt, wie Sie mit diesen Funktionen die relativen Häufigkeiten im folgenden Dataframe berechnen können:

# Dataframe erstellen
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))

# Dataframe anzeigen
df

  team position points
1    A        G     12
2    A        F     15
3    A        F     19
4    B        G     22
5    B        G     32
6    B        G     34
7    B        F     39

Beispiel 1: Relative Häufigkeit einer Variablen

Der folgende Code zeigt, wie die relative Häufigkeit jedes Teams im Dataframe berechnet wird:

library(dplyr)

df %>%
  group_by(team) %>%
  summarise(n = n()) %>%
  mutate(freq = n / sum(n))

# A tibble: 2 x 3
  team       n  freq

1 A          3 0.429
2 B          4 0.571

Dies zeigt uns, dass Team A 42,9% aller Zeilen im Dataframe ausmacht, während Team B die restlichen 57,1% der Zeilen ausmacht. Beachten Sie, dass sie zusammen 100% ergeben.

Verwandte Themen: Die vollständige Anleitung: Gruppieren und Zusammenfassen von Daten in R

Beispiel 2: Relative Häufigkeit mehrerer Variablen

Der folgende Code zeigt, wie die relative Häufigkeit von Positionen nach Team berechnet wird:

library(dplyr)

df %>%
  group_by(team, position) %>%
  summarise(n = n()) %>%
  mutate(freq = n / sum(n))

# A tibble: 4 x 4
# Groups:   team [2]
  team   position     n  freq

1 A      F            2 0.667
2 A      G            1 0.333
3 B      F            1 0.250
4 B      G            3 0.750

Dies sagt uns, dass:

  • 66,7% der Spieler in Team A sind in Position F.
  • 33,3% der Spieler in Team A sind auf Position G.
  • 25,0% der Spieler in Team A sind in Position F.
  • 75,0% der Spieler in Team B sind auf Position G.

Verwandte Themen: Verwenden von 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 nach Team berechnet und diese relativen Häufigkeiten als Prozentsätze angezeigt werden:

library(dplyr)

df %>%
  group_by(team, position) %>%
  summarise(n = n()) %>%
  mutate(freq = paste0(round(100 * n/sum(n), 0), '%'))

# A tibble: 4 x 4
# Groups:   team [2]
  team   position     n freq 

1 A      F            2 67%  
2 A      G            1 33%  
3 B      F            1 25%  
4 B      G            3 75%

Weitere R-Tutorials finden Sie hier.

Statistik: Der Weg zur Datenanalyse

* Amazon Affiliate Link


Das könnte Sie auch interessieren: