R : compter le nombre de valeurs NA dans chaque colonne



Vous pouvez utiliser les méthodes suivantes pour compter le nombre de valeurs NA dans chaque colonne d’un bloc de données dans R :

Méthode 1 : compter les valeurs NA dans chaque colonne en utilisant la base R

sapply(df, function(x) sum(is.na(x)))

Méthode 2 : compter les valeurs NA dans chaque colonne à l’aide de dplyr

library(dplyr)

df %>% summarise(across(everything(), ~ sum(is.na(.))))

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

#create data frame
df <- data.frame(team=c('A', 'B', 'C', 'D', 'E'),
                 points=c(99, 90, 86, 88, NA),
                 assists=c(33, NA, NA, 39, 34),
                 rebounds=c(30, 28, 24, 24, 28))

#view data frame
df

  team points assists rebounds
1    A     99      33       30
2    B     90      NA       28
3    C     86      NA       24
4    D     88      39       24
5    E     NA      34       28

Exemple 1 : compter les valeurs NA dans chaque colonne en utilisant la base R

Le code suivant montre comment compter le nombre de valeurs NA dans chaque colonne à l’aide de la fonction sapply() de la base R :

#count NA values in each column
sapply(df, function(x) sum(is.na(x)))

    team   points  assists rebounds 
       0        1        2        0 

À partir du résultat, nous pouvons voir :

  • La colonne d’équipe a 0 valeurs NA.
  • La colonne des points a 1 valeur NA.
  • La colonne des passes décisives a 2 valeurs NA.
  • La colonne des rebonds a 0 valeurs NA.

Remarque : La fonction sapply() peut être utilisée pour appliquer une fonction à chaque colonne du bloc de données. Dans cet exemple, nous appliquons une fonction qui compte le nombre total d’éléments égal à NA.

Exemple 2 : compter les valeurs NA dans chaque colonne à l’aide de dplyr

Le code suivant montre comment compter le nombre de valeurs NA dans chaque colonne à l’aide de la fonction summarise() du package dplyr :

#count NA values in each column
sapply(df, function(x) sum(is.na(x)))

    team   points  assists rebounds 
       0        1        2        0 

À partir du résultat, nous pouvons voir :

  • La colonne d’équipe a 0 valeurs NA.
  • La colonne des points a 1 valeur NA.
  • La colonne des passes décisives a 2 valeurs NA.
  • La colonne des rebonds a 0 valeurs NA.

Ces résultats correspondent à ceux de l’exemple précédent.

Remarque : La méthode dplyr a tendance à être plus rapide que la méthode de base R lorsque vous travaillez avec des trames de données extrêmement volumineuses.

Ressources additionnelles

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

Comment utiliser na.omit dans R
Comment utiliser complete.cases dans R
Comment supprimer les lignes vides du bloc de données dans R

Ajouter un commentaire

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