Comment supprimer des lignes avec certains ou tous les NA dans R



Souvent, vous souhaiterez peut-être supprimer les lignes contenant tout ou partie des NA (valeurs manquantes) dans un bloc de données dans R.

Ce tutoriel explique comment supprimer ces lignes à l’aide de base R et du package Tidyr . Nous utiliserons le bloc de données suivant pour chacun des exemples suivants :

#create data frame with some missing values
df <- data.frame(points = c(12, NA, 19, 22, 32),
                 assists = c(4, NA, 3, NA, 5),
                 rebounds = c(5, NA, 7, 12, NA))

#view data frame
df

  points assists rebounds
1     12       4        5
2     NA      NA       NA
3     19       3        7
4     22      NA       12
5     32       5       NA

Supprimer les NA à l’aide de Base R

Le code suivant montre comment utiliser complete.cases() pour supprimer toutes les lignes d’un bloc de données qui ont une valeur manquante dans une colonne :

#remove all rows with a missing value in any column
df[complete.cases(df), ]

  points assists rebounds
1     12       4        5
3     19       3        7

Le code suivant montre comment utiliser complete.cases() pour supprimer toutes les lignes d’un bloc de données qui ont une valeur manquante dans des colonnes spécifiques :

#remove all rows with a missing value in the third column
df[complete.cases(df[ , 3]),]

  points assists rebounds
1     12       4        5
3     19       3        7
4     22      NA       12

#remove all rows with a missing value in either the first or third column
df[complete.cases(df[ , c(1,3)]),]

  points assists rebounds
1     12       4        5
3     19       3        7
4     22      NA       12

Supprimer les NA à l’aide de Tidyr

Le code suivant montre comment utiliser drop_na() du package Tidyr pour supprimer toutes les lignes d’un bloc de données qui ont une valeur manquante dans une colonne :

#load tidyr package
library(tidyr)

#remove all rows with a missing value in any column
df %>% drop_na()

  points assists rebounds
1     12       4        5
3     19       3        7

Le code suivant montre comment utiliser drop_na() du package Tidyr pour supprimer toutes les lignes d’un bloc de données qui ont une valeur manquante dans des colonnes spécifiques :

#load tidyr package
library(tidyr)

#remove all rows with a missing value in the third column
df %>% drop_na(rebounds)

  points assists rebounds
1     12       4        5
3     19       3        7
4     22      NA       12

Vous pouvez trouver plus de didacticiels R ici .

Ajouter un commentaire

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