How to remove NA values with dplyr filter
Below is the code:
library(tidyverse)
df <- tibble(
~col1, ~col2, ~col3,
1, 2, 3,
1, NA, 3,
NA, 2, 3
)
I can remove all NA observations with drop_na():
df %>% drop_na()
Or remove all NA observations in a single column (col1 for example):
df %>% drop_na(col1)
Why can't I just use a regular != filter pipe?
df %>% filter(col1 != NA)
Why do we have to use a special function from tidyr to remove NAs? How do we filter out na in r?
This has nothing to do specifically with dplyr::filter. But, any comparison with NA, including NA==NA will return NA.
R does not know what you are doing in your analysis.
So, basically, it does not allow comparison operators to think of NA as a value.