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