Comment ajouter des colonnes au bloc de données dans R à l’aide de dplyr



Vous pouvez utiliser la fonction mutate() du package dplyr pour ajouter une ou plusieurs colonnes à un bloc de données dans R.

Cette fonction utilise la syntaxe de base suivante :

Méthode 1 : ajouter une colonne à la fin du bloc de données

df %>%
  mutate(new_col=c(1, 3, 3, 5, 4))

Méthode 2 : ajouter une colonne avant une colonne spécifique

df %>%
 mutate(new_col=c(1, 3, 3, 5, 4),
        .before=col_name)

Méthode 3 : ajouter une colonne après une colonne spécifique

df %>%
 mutate(new_col=c(1, 3, 3, 5, 4),
        .after=col_name)

Méthode 4 : ajouter une colonne basée sur d’autres colonnes

df %>%
  mutate(new_col= if_else(.$col_name > 10, 'A', 'B'))

Les exemples suivants montrent comment utiliser cette syntaxe en pratique avec le bloc de données suivant :

#create data frame
df <- data.frame(team=c('A', 'A', 'A', 'A', 'B', 'B', 'B', 'B'),
                 points=c(12, 14, 19, 24, 24, 22, 30, 9),
                 assists=c(4, 6, 6, 8, 3, 7, 8, 11))

#view data frame
df

  team points assists
1    A     12       4
2    A     14       6
3    A     19       6
4    A     24       8
5    B     24       3
6    B     22       7
7    B     30       8
8    B      9      11

Exemple 1 : ajouter une colonne à la fin du bloc de données

Le code suivant montre comment ajouter une colonne à la fin du bloc de données :

#add 'blocks' column at end of data frame
df <- df %>%
        mutate(blocks=c(1, 3, 3, 2, 4, 3, 6, 2))

#view data frame
df

  team points assists blocks
1    A     12       4      1
2    A     14       6      3
3    A     19       6      3
4    A     24       8      2
5    B     24       3      4
6    B     22       7      3
7    B     30       8      6
8    B      9      11      2

Notez que vous pouvez ajouter une colonne vide en attribuant simplement NA à chaque valeur de la nouvelle colonne :

#add empty column at end of data frame
df <- df %>%
        mutate(blocks=NA)

#view data frame
df

  team points assists blocks
1    A     12       4     NA
2    A     14       6     NA
3    A     19       6     NA
4    A     24       8     NA
5    B     24       3     NA
6    B     22       7     NA
7    B     30       8     NA
8    B      9      11     NA

Exemple 2 : ajouter une colonne avant une colonne spécifique

Le code suivant montre comment ajouter une colonne avant une colonne spécifique dans le bloc de données :

#add 'blocks' column before 'points' column
df <- df %>%
        mutate(blocks=c(1, 3, 3, 2, 4, 3, 6, 2),
              .before=points)

#view data frame
df

  team blocks points assists
1    A      1     12       4
2    A      3     14       6
3    A      3     19       6
4    A      2     24       8
5    B      4     24       3
6    B      3     22       7
7    B      6     30       8
8    B      2      9      11

Exemple 3 : ajouter une colonne après une colonne spécifique

Le code suivant montre comment ajouter une colonne après une colonne spécifique dans le bloc de données :

#add 'blocks' column after 'points' column
df <- df %>%
        mutate(blocks=c(1, 3, 3, 2, 4, 3, 6, 2),
              .after=points)

#view data frame
df

  team points blocks assists
1    A     12      1       4
2    A     14      3       6
3    A     19      3       6
4    A     24      2       8
5    B     24      4       3
6    B     22      3       7
7    B     30      6       8
8    B      9      2      11

Exemple 4 : ajouter une colonne basée sur d’autres colonnes

Le code suivant montre comment ajouter une colonne basée sur une autre colonne dans le bloc de données :

#add 'status' column whose values depend on value in 'points' column
df <- df %>%
        mutate(status= if_else(.$points > 20, 'Good', 'Bad'))

#view data frame
df

  team points assists status
1    A     12       4    Bad
2    A     14       6    Bad
3    A     19       6    Bad
4    A     24       8   Good
5    B     24       3   Good
6    B     22       7   Good
7    B     30       8   Good
8    B      9      11    Bad

Ressources additionnelles

Les didacticiels suivants expliquent comment exécuter d’autres fonctions courantes dans dplyr :

Comment renommer une colonne par position d’index à l’aide de dplyr
Comment sélectionner des colonnes par index à l’aide de dplyr
Comment supprimer des lignes à l’aide de dplyr

Ajouter un commentaire

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