Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在dplyr中,NA数大于1的筛选器行_R_Dplyr - Fatal编程技术网

在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!