Vous savez comment filtrer un jeu de données avec dplyr ? : filter(), on peut donc utiliser une règle pour filtrer sur les valeurs manquantes (les fameux NA
) en utilisant la fonction is.na
.
library(dplyr)
df <- tibble(x1 = c(1, 2, NA, 4),
x2 = c("a", NA, "b", "c"),
y = c(NA, TRUE, FALSE, TRUE))
df %>% filter(!is.na(x1))
Mais si vous voulez supprimer les lignes qui contiennent des NA
dans plusieurs colonnes, voire toutes les colonnes, il vaut mieux utiliser drop_na
du package {tidyr}. Vous pourrez même utiliser les « helpers » comme pour la fonction select
de {dplyr} pour choisir les colonnes avec des règles.
library(tidyr)
df <- tibble(x1 = c(1, 2, NA, 4),
x2 = c("a", NA, "b", "c"),
y = c(NA, TRUE, FALSE, TRUE))
df %>% drop_na()
df %>% drop_na(x1)
df %>% drop_na(starts_with("x"))