Een kruistabel maken met dplyr (met voorbeelden)


U kunt de volgende basissyntaxis gebruiken om een kruistabel te maken met behulp van functies uit de pakketten dplyr en Tidyr in R:

 df %>%
  group_by (var1, v ar2) %>%
  tally () %>%
  spread (var1,n)

De volgende voorbeelden laten zien hoe u deze syntaxis in de praktijk kunt gebruiken.

Voorbeeld 1: Maak een eenvoudige kruistabel

Stel dat we het volgende dataframe in R hebben:

 #create data frame
df <- data. frame (team=c('A', 'A', 'A', 'A', 'B', 'B', 'B', 'B'),
                 position=c('G', 'G', 'F', 'C', 'G', 'F', 'F', 'C'),
                 dots=c(7, 7, 8, 11, 13, 15, 19, 13))

#view data frame
df

  team position points
1 AG 7
2 AG 7
3AF 8
4 AC 11
5 BG 13
6 BF 15
7 BF 19
8 BC 13

We kunnen de volgende syntaxis gebruiken om een kruistabel te maken voor de variabelen ‚team‘ en ‚positie‘:

 library (dplyr)
library (tidyr)

#produce crosstab
df %>%
group_by (team, position) %>%
tally () %>%
spread (team, n)

# A tibble: 3 x 3
  position AB
1 C 1 1
2 F 1 2
3 G 2 1

Zo interpreteert u de kruistabelwaarden:

  • Er is 1 speler die positie “C” bezet en tot team “A” behoort
  • Er is 1 speler die positie “C” bezet en tot team “B” behoort
  • Er is 1 speler die positie “F” bezet en tot team “A” behoort
  • Er zijn 2 spelers die positie “F” hebben en tot team “B” behoren
  • Er zijn 2 spelers die positie “G” hebben en tot team “A” behoren
  • Er is 1 speler die positie “G” bezet en tot team “B” behoort

Houd er rekening mee dat we de rijen en kolommen van de kruistabel kunnen wijzigen door de variabele te wijzigen die wordt gebruikt in de functie spread() :

 library (dplyr)
library (tidyr)

#produce crosstab with 'position' along columns
df %>%
group_by (team, position) %>%
tally () %>%
spread (position, n)

# A tibble: 2 x 4
# Groups: team [2]
  team CFG
1 A 1 1 2
2 B 1 2 1

Gerelateerd: Hoe de Spread-functie in Tidyr te gebruiken

Aanvullende bronnen

In de volgende tutorials wordt uitgelegd hoe u andere veelvoorkomende functies in dplyr kunt uitvoeren:

Hoe relatieve frequenties te berekenen met behulp van dplyr
Kolommen selecteren op index met behulp van dplyr
Rijen verwijderen met dplyr

Einen Kommentar hinzufügen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert