filter_all для! is.na () в R по-прежнему дает пропущенные значения - PullRequest
0 голосов
/ 15 марта 2019

Я пытаюсь использовать dplyr filter_all (), чтобы получить все строки, которые не содержат какие-либо пропущенные данные. Я использую встроенный в Starwars набор данных dplyr. Когда я использую этот код, чтобы получить, что имеет какие-либо пропущенные значения, он работает без проблем:

 library(dplyr)
 data("starwars")

rows_with_NAs <- starwars %>%
  filter_all(any_vars(is.na(.)))

Однако, если я попытаюсь найти строки, которые не имеют какие-либо пропущенные значения с этим кодом:

rows_without_NAs <- starwars %>%
  filter_all(any_vars(!is.na(.)))

Я все еще получаю строки с NA.

head(rows_without_NAs)

Почему это так и как я могу это исправить?

Спасибо!

1 Ответ

1 голос
/ 15 марта 2019

tidyr имеет для этого оператор drop_na().

library(tidyverse)

data("starwars")

rows_with_NAs <- starwars %>%
    drop_na()
...