在dplyr中,NA数大于1的筛选器行
这是我的代码:在dplyr中,NA数大于1的筛选器行,r,dplyr,R,Dplyr,这是我的代码: airquality %>% filter(across(everything(), ~ sum(is.na(.x)) > 1)) 我正在尝试筛选具有多个NAs的行 实现这一点的唯一方法是使用mutate函数 airquality %>% rowwise() %>% mutate(n_NA = sum(is.na(across(everything())))) %>% filter(n_NA > 1) 但
airquality %>% filter(across(everything(), ~ sum(is.na(.x)) > 1))
我正在尝试筛选具有多个NAs的行
实现这一点的唯一方法是使用mutate
函数
airquality %>% rowwise() %>% mutate(n_NA = sum(is.na(across(everything())))) %>%
filter(n_NA > 1)
但这不是一个聪明的方法
我只需要使用过滤器功能。
有什么帮助吗?我们可以使用
行和
在过滤器中创建逻辑表达式
library(dplyr)
airquality %>%
filter(rowSums(is.na(.)) > 1)
-输出
# Ozone Solar.R Wind Temp Month Day
#1 NA NA 14.3 56 5 5
#2 NA NA 8.0 57 5 27
或者使用
rowwise
和c_横跨
airquality %>%
rowwise %>%
filter(sum(is.na(c_across(everything()))) > 1)
# A tibble: 2 x 6
# Rowwise:
# Ozone Solar.R Wind Temp Month Day
# <int> <int> <dbl> <int> <int> <int>
#1 NA NA 14.3 56 5 5
#2 NA NA 8 57 5 27
空气质量%>%
行%>%
过滤器(sum(is.na)(c_横跨(everythings())))>1)
#一个tibble:2x6
#顺时针:
#臭氧太阳能.R风温月日
#
#1 NA 14.3 56 5
#2 NA 8 57 5 27
您一直在帮助我们。感谢您抽出时间@akrun!