Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/80.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使用filter()的具体操作是什么?_R_Filter_Dplyr_Logic - Fatal编程技术网

在多种情况下,dplyr使用filter()的具体操作是什么?

在多种情况下,dplyr使用filter()的具体操作是什么?,r,filter,dplyr,logic,R,Filter,Dplyr,Logic,例如:。, 图书馆(dplyr) df%过滤器(a!=1&b!=49) 怎么会这样 df[(df$a != x & df$b != y), ] 导致不同的结果 df[!(df$a == x & df$b == y), ] ? 还有一个更实际的问题: 什么是等价物 df[!(df$a == 1 & df$b == 49), ] 对于dplyr的过滤器()?而言,dplyr中的等效项为 library(dplyr) df %>% filter(!(a

例如:。, 图书馆(dplyr)

df%过滤器(a!=1&b!=49)
怎么会这样

df[(df$a != x & df$b != y), ]
导致不同的结果

df[!(df$a == x & df$b == y), ]
?

还有一个更实际的问题: 什么是等价物

df[!(df$a == 1 & df$b == 49), ]

对于dplyr的过滤器()?

而言,
dplyr
中的等效项为

library(dplyr)
df %>%
     filter(!(a == 1 & b == 49))

关于

out1 <- df[(df$a != 1 & df$b != 49), ]
out2 <- df[!(df$a == 1 & df$b == 49), ]
当我们使用
&
运算符时,只有
TRUE
的对应元素在输出中变为TRUE

df$a != 1 & df$b != 49
#[1] FALSE  TRUE  TRUE  TRUE FALSE
在第二种情况下

df$a == 1 & df$b == 49
#[1] FALSE FALSE FALSE FALSE  TRUE
当它被否定时
,真->假,假->真

结果选择了4行,而在前一行中仅选择了3行

一个选项是
|
而不是
&

df$a == 1 | df$b == 49
#[1]  TRUE FALSE FALSE FALSE  TRUE
否定

!(df$a == 1 | df$b == 49)
#[1] FALSE  TRUE  TRUE  TRUE FALSE

您的第二行和第四行代码
过滤器
提供了与您需要的
df[!(df$a==1 | df$b==49)相同的结果
!(df$a == 1 | df$b == 49)
#[1] FALSE  TRUE  TRUE  TRUE FALSE