反向过滤器/子集数据帧

cos*_*k08 2 r subset filter dataframe dplyr

我的数据看起来像:

print(dat)
i1  i2  node_id
 4   4        8
 4   5        8
 3   2        9
 5   1        8
Run Code Online (Sandbox Code Playgroud)

使用 dplyrfiltersubset(最好是过滤器)我想反向过滤数据,所以我得到这个:

 print(dat)
 i1  i2  node_id
 4   4        8
 4   5        8
 5   1        8
Run Code Online (Sandbox Code Playgroud)

我说反向过滤器是因为而不是过滤或子设置,例如:

dat<-filter(dat,node_id==8)
dat<-subset(dat,node_id==8)
Run Code Online (Sandbox Code Playgroud)

我想通过告诉 RI 想要保留除我尝试过的 node_id==9 之外的所有内容来做到这一点:

dat<-filter(dat,-node_id==9)
dat<-subset(dat,-node_id==9)
Run Code Online (Sandbox Code Playgroud)

但两者都不起作用。有什么建议么?谢谢。

Anu*_*nuj 5

反向过滤<, >, <=, >=

我知道这没有特别要求,但是在对案例<, >, <=, >=条件进行反向过滤的情况下,如果您想要以下所有node_id < 9内容都可以工作

dat <- dat %>% filter(!node_id >= 9)

这与

dat <- dat %>% filter(node_id < 9)