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

Ajouter un commentaire

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