Comment supprimer des colonnes par nom dans R (avec exemples)



Il existe trois manières courantes de supprimer des colonnes d’un bloc de données dans R par leur nom :

Méthode 1 : utiliser Base R

#drop col2 and col4 from data frame
df_new <- subset(df, select = -c(col2, col4))

Méthode 2 : utiliser dplyr

library(dplyr)

#drop col2 and col4 from data frame
df_new <- df %>% select(-c(col2, col4))

Méthode 3 : utiliser data.table

library(data.table)

#convert data frame to data table
dt <- setDT(df)

#drop col2 and col4 from data frame
dt[, c('col2', 'col4'):=NULL]

Les exemples suivants montrent comment utiliser chaque méthode en pratique avec le bloc de données suivant dans R :

#create data frame
df <- data.frame(team=c('A', 'A', 'B', 'B', 'C', 'C', 'C', 'D'),
                 points=c(12, 15, 22, 29, 35, 24, 11, 24),
                 rebounds=c(10, 4, 4, 15, 14, 9, 12, 8),
                 assists=c(7, 7, 5, 8, 19, 14, 11, 10))

#view data frame
df

  team points rebounds assists
1    A     12       10       7
2    A     15        4       7
3    B     22        4       5
4    B     29       15       8
5    C     35       14      19
6    C     24        9      14
7    C     11       12      11
8    D     24        8      10

Exemple 1 : supprimer des colonnes par nom à l’aide de Base R

Le code suivant montre comment supprimer les colonnes de points et d’assistance du bloc de données en utilisant la fonction subset() en base R :

#create new data frame by dropping points and assists columns
df_new <- subset(df, select = -c(points, assists))

#view new data frame
df_new

  team rebounds
1    A       10
2    A        4
3    B        4
4    B       15
5    C       14
6    C        9
7    C       12
8    D        8

Notez que les colonnes de points et de passes décisives ont toutes deux été supprimées du nouveau bloc de données.

Exemple 2 : supprimer des colonnes par nom à l’aide de dplyr

Le code suivant montre comment supprimer les colonnes de points et d’assistance du bloc de données à l’aide de la fonction select() du package dplyr :

library(dplyr)

#create new data frame by dropping points and assists columns
df_new <- df %>% select(-c(points, assists))

#view new data frame
df_new

  team rebounds
1    A       10
2    A        4
3    B        4
4    B       15
5    C       14
6    C        9
7    C       12
8    D        8

Notez que les colonnes de points et de passes décisives ont toutes deux été supprimées du nouveau bloc de données.

Exemple 3 : supprimer des colonnes par nom à l’aide de data.table

Le code suivant montre comment supprimer les colonnes de points et d’assistance du bloc de données en définissant les deux colonnes sur NULL à l’aide du package data.table :

library(data.table)

#convert data frame to data table
dt <- setDT(df)

#drop points and assists columns
dt[, c('points', 'assists'):=NULL]

#view updated data table
dt

   team rebounds
1:    A       10
2:    A        4
3:    B        4
4:    B       15
5:    C       14
6:    C        9
7:    C       12
8:    D        8

Notez que les colonnes de points et de passes décisives ont toutes deux été supprimées du nouveau tableau de données.

Remarque : les trois méthodes produisent le même résultat, mais les méthodes dplyr et data.table auront tendance à être plus rapides lorsque vous travaillez avec des ensembles de données extrêmement volumineux.

Ressources additionnelles

Les didacticiels suivants expliquent comment effectuer d’autres tâches courantes dans R :

Comment supprimer des colonnes avec des valeurs NA dans R
Comment réorganiser les colonnes dans R
Comment renommer des colonnes dans R

Ajouter un commentaire

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