Comment compter les valeurs non NA dans R (3 exemples)



Vous pouvez utiliser les méthodes suivantes pour compter les valeurs non-NA dans R :

Méthode 1 : compter les valeurs non NA dans l’ensemble du bloc de données

sum(!is.na(df))

Méthode 2 : compter les valeurs non NA dans chaque colonne de la trame de données

colSums(!is.na(df))

Méthode 3 : compter les valeurs non NA par groupe dans la trame de données

library(dplyr)

df %>%
  group_by(var1) %>%
  summarise(total_non_na = sum(!is.na(var2)))

L’exemple suivant montre comment utiliser chacune de ces méthodes en pratique avec le bloc de données suivant :

#create data frame
df <- data.frame(team=c('A', 'A', 'A', 'A', 'B', 'B', 'B', 'B'),
                 points=c(12, NA, 30, 32, 20, 22, 17, NA),
                 rebounds=c(10, 8, 9, 13, NA, 20, 8, 7))

#view data frame
df

  team points rebounds
1    A     12       10
2    A     NA        8
3    A     30        9
4    A     32       13
5    B     20       NA
6    B     22       20
7    B     17        8
8    B     NA        7

Méthode 1 : compter les valeurs non NA dans l’ensemble du bloc de données

Le code suivant montre comment compter le total des valeurs non-NA dans l’ensemble du bloc de données :

#count non-NA values in entire data frame
sum(!is.na(df))

[1] 21

À partir du résultat, nous pouvons voir qu’il y a 21 valeurs non-NA dans l’ensemble du bloc de données.

Méthode 2 : compter les valeurs non NA dans chaque colonne de la trame de données

Le code suivant montre comment compter le total des valeurs non-NA dans chaque colonne du bloc de données :

#count non-NA values in each column
colSums(!is.na(df))

    team   points rebounds 
       8        6        7

À partir du résultat, nous pouvons voir :

  • Il y a 8 valeurs non-NA dans la colonne équipe.
  • Il y a 6 valeurs non-NA dans la colonne des points.
  • Il y a 7 valeurs non-NA dans la colonne des rebonds.

Méthode 3 : Compter les valeurs non-NA par groupe

Le code suivant montre comment compter le total des valeurs non-NA dans la colonne des points , regroupées par la colonne de l’ équipe :

library(dplyr)
df %>%
  group_by(team) %>%
  summarise(total_non_na = sum(!is.na(points)))

# A tibble: 2 x 2
  team  total_non_na
          
1 A                3
2 B                3

À partir du résultat, nous pouvons voir :

  • Il y a 3 valeurs non-NA dans la colonne des points pour l’équipe A.
  • Il y a 3 valeurs non-NA dans la colonne des points pour l’équipe B.

Ressources additionnelles

Les didacticiels suivants expliquent comment effectuer d’autres opérations courantes avec des valeurs manquantes dans R :

Comment rechercher et compter les valeurs manquantes dans R
Comment imputer les valeurs manquantes dans R

Ajouter un commentaire

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