Comment supprimer les lignes vides du bloc de données dans R
Vous pouvez utiliser les méthodes suivantes pour supprimer les lignes vides d’un bloc de données dans R :
Méthode 1 : supprimer les lignes avec NA dans toutes les colonnes
df[rowSums(is.na(df)) != ncol(df), ]
Méthode 2 : supprimer les lignes avec NA dans au moins une colonne
df[complete.cases(df), ]
Les exemples suivants montrent comment utiliser chaque méthode dans la pratique.
Exemple 1 : Supprimer les lignes avec NA dans toutes les colonnes
Supposons que nous ayons le bloc de données suivant dans R :
#create data frame df <- data.frame(x=c(3, 4, NA, 6, 8, NA), y=c(NA, 5, NA, 2, 2, 5), z=c(1, 2, NA, 6, 8, NA)) #view data frame df x y z 1 3 NA 1 2 4 5 2 3 NA NA NA 4 6 2 6 5 8 2 8 6 NA 5 NA
Nous pouvons utiliser le code suivant pour supprimer les lignes du bloc de données qui ont des valeurs NA dans chaque colonne :
#remove rows with NA in all columns df[rowSums(is.na(df)) != ncol(df), ] x y z 1 3 NA 1 2 4 5 2 4 6 2 6 5 8 2 8 6 NA 5 NA
Notez que la ligne contenant les valeurs NA dans chaque colonne a été supprimée.
Exemple 2 : Supprimer les lignes avec NA dans au moins une colonne
Supposons encore une fois que nous ayons le bloc de données suivant dans R :
#create data frame df <- data.frame(x=c(3, 4, NA, 6, 8, NA), y=c(NA, 5, NA, 2, 2, 5), z=c(1, 2, NA, 6, 8, NA)) #view data frame df x y z 1 3 NA 1 2 4 5 2 3 NA NA NA 4 6 2 6 5 8 2 8 6 NA 5 NA
Nous pouvons utiliser le code suivant pour supprimer les lignes du bloc de données qui ont des valeurs NA dans au moins une colonne :
#remove rows with NA in at least one column
df[complete.cases(df), ]
x y z
2 4 5 2
4 6 2 6
5 8 2 8
Notez que toutes les lignes avec une valeur NA dans au moins une colonne ont été supprimées.
Connexe : Comment utiliser complete.cases dans R (avec exemples)
Ressources additionnelles
Les didacticiels suivants expliquent comment effectuer d’autres tâches courantes dans R :
Comment créer un bloc de données vide dans R
Comment créer une liste vide dans R
Comment créer un vecteur vide dans R