在多种情况下,dplyr使用filter()的具体操作是什么?
例如:。, 图书馆(dplyr)在多种情况下,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
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