r - 过滤 R 中的任何缺失值

标签 r dplyr

我一直在尝试使用 dplyr 过滤 R 中的任何缺失值,但我似乎没有做对。任何领导将不胜感激。

library(dplyr)
library(tibble)

set.seed(2021)
testdata <- tibble(
  a1 = c(10, 12, NA, 10, 13),
  a2 = c("Test", "Test1", "Test 2", NA, NA),
  a3 = c(NA, "Test 10", "Test 2", NA, "Test 4"),
  a4 = rbinom(5, 10, 0.5)
)

testdata2 <- testdata %>% 
  filter(across(.cols = everything(), ~any_vars(is.na(.))))

最佳答案

如果您使用 dplyr 来执行此操作,您可以使用函数 if_all/if_any 来执行此操作。

选择至少有一个缺失值的行-

library(dplyr)

testdata %>% filter(if_any(.fns = is.na))

#    a1 a2     a3        a4
#  <dbl> <chr>  <chr>  <int>
#1    10 Test   NA         5
#2    NA Test 2 Test 2     6
#3    10 NA     NA         5
#4    13 NA     Test 4     6

选择没有缺失值的行-

testdata %>% filter(if_all(.fns = Negate(is.na)))

#     a1 a2    a3         a4
#  <dbl> <chr> <chr>   <int>
#1    12 Test1 Test 10     6

关于r - 过滤 R 中的任何缺失值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70848048/

相关文章:

r - 使用先前 magrittr 链的输出作为进一步参数的参数

r - 随着排名的增加,值加 1

r - left_join 两个数据帧并覆盖

r - 在带R的句子中查找单词,如果没有: drop row

r - Levene 测试提取 p 值?

html - 使用 rvest 跟随 "next"与相对路径的链接

r - 将data.frame折叠成向量

r - 将函数应用于数据框列(dplyr)

r - 将变量转换为 ggplot 的因子时遇到问题

R根据2列的条件创建新列