Comment utiliser la fonction Gather dans R (avec exemples)
La fonction rassembler() du package Tidyr peut être utilisée pour « rassembler » une paire clé-valeur sur plusieurs colonnes.
Cette fonction utilise la syntaxe de base suivante :
rassembler (données, valeur clé, …)
où:
- data : Nom de la trame de données
- key : Nom de la colonne clé à créer
- value : Nom de la colonne valeur à créer
- … : Spécifiez les colonnes à partir desquelles collecter
Les exemples suivants montrent comment utiliser cette fonction dans la pratique.
Exemple 1 : rassembler les valeurs de deux colonnes
Supposons que nous ayons le bloc de données suivant dans R :
#create data frame df <- data.frame(player=c('A', 'B', 'C', 'D'), year1=c(12, 15, 19, 19), year2=c(22, 29, 18, 12)) #view data frame df player year1 year2 1 A 12 22 2 B 15 29 3 C 19 18 4 D 19 12
Nous pouvons utiliser la fonction rassembler() pour créer deux nouvelles colonnes appelées « année » et « points » comme suit :
library(tidyr) #gather data from columns 2 and 3 gather(df, key="year", value="points", 2:3) player year points 1 A year1 12 2 B year1 15 3 C year1 19 4 D year1 19 5 A year2 22 6 B year2 29 7 C year2 18 8 D year2 12
Exemple 2 : rassembler les valeurs de plus de deux colonnes
Supposons que nous ayons le bloc de données suivant dans R :
#create data frame df2 <- data.frame(player=c('A', 'B', 'C', 'D'), year1=c(12, 15, 19, 19), year2=c(22, 29, 18, 12), year3=c(17, 17, 22, 25)) #view data frame df2 player year1 year2 year3 1 A 12 22 17 2 B 15 29 17 3 C 19 18 22 4 D 19 12 25
Nous pouvons utiliser la fonction rassembler() pour « rassembler » les valeurs des colonnes 2, 3 et 4 dans deux nouvelles colonnes appelées « année » et « points » comme suit :
library(tidyr) #gather data from columns 2, 3, and 4 gather(df, key="year", value="points", 2:4) player year points 1 A year1 12 2 B year1 15 3 C year1 19 4 D year1 19 5 A year2 22 6 B year2 29 7 C year2 18 8 D year2 12 9 A year3 17 10 B year3 17 11 C year3 22 12 D year3 25
Ressources additionnelles
L’objectif du package Tidyr est de créer des données « ordonnées », qui présentent les caractéristiques suivantes :
- Chaque colonne est une variable.
- Chaque ligne est une observation.
- Chaque cellule est une valeur unique.
Le package Tidyr utilise quatre fonctions principales pour créer des données ordonnées :
1. La fonction spread() .
2. La fonction rassembler() .
3. La fonction séparée() .
4. La fonction unit() .
Si vous maîtrisez ces quatre fonctions, vous serez en mesure de créer des données « ordonnées » à partir de n’importe quelle trame de données.