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