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.

Ajouter un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *