Comment supprimer des colonnes avec des valeurs NA dans R
Vous pouvez utiliser l’une des deux méthodes suivantes pour supprimer les colonnes d’un bloc de données dans R qui contiennent des valeurs NA :
Méthode 1 : utiliser Base R
df[ , colSums(is.na(df))==0]
Méthode 2 : utiliser dplyr
library(dplyr) df %>% select_if(~ !any(is.na(.)))
Les deux méthodes produisent le même résultat.
Les exemples suivants montrent comment utiliser chaque méthode en pratique avec le bloc de données suivant :
#create data frame
df <- data.frame(team=c('A', 'B', 'C', 'D', 'E'),
points=c(99, NA, NA, 88, 95),
assists=c(33, 28, 31, 39, 34),
rebounds=c(30, 28, 24, 24, NA))
#view data frame
df
team points assists rebounds
1 A 99 33 30
2 B NA 28 28
3 C NA 31 24
4 D 88 39 24
5 E 95 34 NA
Exemple 1 : supprimer des colonnes avec des valeurs NA à l’aide de Base R
Le code suivant montre comment supprimer des colonnes avec des valeurs NA à l’aide de fonctions de base R :
#define new data frame new_df <- df[ , colSums(is.na(df))==0] #view new data frame new_df team assists 1 A 33 2 B 28 3 C 31 4 D 39 5 E 34
Notez que les deux colonnes avec les valeurs NA (points et rebonds) ont toutes deux été supprimées du bloc de données.
Exemple 2 : Supprimer les colonnes avec des valeurs NA à l’aide de dplyr
Le code suivant montre comment supprimer les colonnes avec des valeurs NA à l’aide des fonctions du package dplyr :
library(dplyr)
#define new data frame
new_df <- df %>% select_if(~ !any(is.na(.)))
#view new data frame
new_df
team assists
1 A 33
2 B 28
3 C 31
4 D 39
5 E 34
Encore une fois, les deux colonnes avec les valeurs NA (points et rebonds) ont toutes deux été supprimées du bloc de données.
Ressources additionnelles
Les didacticiels suivants expliquent comment effectuer d’autres tâches courantes dans R :
Comment ajouter une colonne à un bloc de données dans R
Comment renommer les colonnes du bloc de données dans R
Comment trier un bloc de données par colonne dans R