Comment remplacer NA par Zero dans dplyr



Vous pouvez utiliser la syntaxe suivante pour remplacer toutes les valeurs NA par zéro dans une trame de données à l’aide du package dplyr dans R :

#replace all NA values with zero
df <- df %>% replace(is.na(.), 0)

Vous pouvez utiliser la syntaxe suivante pour remplacer les valeurs NA dans une colonne spécifique d’un bloc de données :

#replace NA values with zero in column named col1
df <- df %>% mutate(col1 = ifelse(is.na(col1), 0, col1))

Et vous pouvez utiliser la syntaxe suivante pour remplacer la valeur NA dans l’une des nombreuses colonnes d’un bloc de données :

#replace NA values with zero in columns col1 and col2
df <- df %>% mutate(col1 = ifelse(is.na(col1), 0, col1),
                    col2 = ifelse(is.na(col2), 0, col2))

Les exemples suivants montrent comment utiliser ces fonctions dans la pratique avec le bloc de données suivant :

#create data frame
df <- data.frame(player=c('A', 'B', 'C', 'D', 'E'),
                 pts=c(17, 12, NA, 9, 25),
                 rebs=c(3, 3, NA, NA, 8),
                 blocks=c(1, 1, 2, 4, NA))

#view data frame
df

  player pts rebs blocks
1      A  17    3      1
2      B  12    3      1
3      C  NA   NA      2
4      D   9   NA      4
5      E  25    8     NA

Exemple 1 : Remplacer toutes les valeurs NA dans toutes les colonnes

Le code suivant montre comment remplacer toutes les valeurs NA dans toutes les colonnes d’un bloc de données :

library(dplyr)

#replace all NA values with zero
df <- df %>% replace(is.na(.), 0)

#view data frame
df

  player pts rebs blocks
1      A  17    3      1
2      B  12    3      1
3      C   0    0      2
4      D   9    0      4
5      E  25    8      0

Exemple 2 : remplacer les valeurs NA dans une colonne spécifique

Le code suivant montre comment remplacer les valeurs NA dans une colonne spécifique d’un bloc de données :

library(dplyr)

#replace NA values with zero in rebs column only
df <- df %>% mutate(rebs = ifelse(is.na(rebs), 0, rebs))

#view data frame
df

  player pts rebs blocks
1      A  17    3      1
2      B  12    3      1
3      C  NA    0      2
4      D   9    0      4
5      E  25    8     NA

Exemple 3 : Remplacer les valeurs NA dans l’une des plusieurs colonnes

Le code suivant montre comment remplacer les valeurs NA dans l’une des nombreuses colonnes d’un bloc de données :

library(dplyr)

#replace NA values with zero in rebs and pts columns
df <- df %>% mutate(rebs = ifelse(is.na(rebs), 0, rebs),
                    pts = ifelse(is.na(pts), 0, pts))

#view data frame
df

  player pts rebs blocks
1      A  17    3      1
2      B  12    3      1
3      C   0    0      2
4      D   9    0      4
5      E  25    8     NA

Ressources additionnelles

Comment filtrer les lignes contenant une certaine chaîne à l’aide de dplyr
Comment calculer les fréquences relatives à l’aide de dplyr
Comment sélectionner la première ligne par groupe à l’aide de dplyr

Ajouter un commentaire

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