Comment créer un tableau croisé à l’aide de dplyr (avec exemples)
Vous pouvez utiliser la syntaxe de base suivante pour produire un tableau croisé à l’aide des fonctions des packages dplyr et Tidyr dans R :
df %>% group_by(var1, var2) %>% tally() %>% spread(var1, n)
Les exemples suivants montrent comment utiliser cette syntaxe dans la pratique.
Exemple 1 : Créer un tableau croisé de base
Supposons que nous ayons le bloc de données suivant dans R :
#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'), points=c(7, 7, 8, 11, 13, 15, 19, 13)) #view data frame df team position points 1 A G 7 2 A G 7 3 A F 8 4 A C 11 5 B G 13 6 B F 15 7 B F 19 8 B C 13
Nous pouvons utiliser la syntaxe suivante pour créer un tableau croisé pour les variables « équipe » et « position » :
library(dplyr) library(tidyr) #produce crosstab df %>% group_by(team, position) %>% tally() %>% spread(team, n) # A tibble: 3 x 3 position A B 1 C 1 1 2 F 1 2 3 G 2 1
Voici comment interpréter les valeurs du tableau croisé :
- Il y a 1 joueur qui occupe la position « C » et appartient à l’équipe « A »
- Il y a 1 joueur qui occupe la position « C » et appartient à l’équipe « B »
- Il y a 1 joueur qui occupe la position « F » et appartient à l’équipe « A »
- Il y a 2 joueurs qui ont une position « F » et appartiennent à l’équipe « B »
- Il y a 2 joueurs qui ont une position de « G » et appartiennent à l’équipe « A »
- Il y a 1 joueur qui occupe la position « G » et appartient à l’équipe « B »
Notez que nous pouvons changer les lignes et les colonnes du tableau croisé en changeant la variable utilisée dans la fonction 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 C F G 1 A 1 1 2 2 B 1 2 1
Connexe : Comment utiliser la fonction Spread dans Tidyr
Ressources additionnelles
Les didacticiels suivants expliquent comment exécuter d’autres fonctions courantes dans dplyr :
Comment calculer les fréquences relatives à l’aide de dplyr
Comment sélectionner des colonnes par index à l’aide de dplyr
Comment supprimer des lignes à l’aide de dplyr