在带有否定的两个变量上使用dplyr :: filter

时间:2018-01-29 16:00:19

标签: r dplyr

我正在尝试过滤出符合两个条件的数据表中的行。 我尝试了以下操作,但是使用两个条件之一删除所有行。

filter(starwars, hair_color != "none" && eye_color != "black") 

一定很简单,但我不明白。 帮助将不胜感激

干杯 伦格尔

2 个答案:

答案 0 :(得分:1)

当您第一次指定要排除的组时,我发现它更容易阅读,然后将其排除:

filter(starwars, !(hair_color == "none" & eye_color == "black")) 

答案 1 :(得分:0)

这取决于您是否尝试过滤符合这两个条件的条件

如果您尝试删除符合这两个条件的行,请使用:

   starwars%>% filter( ! hair_color != "none" & eye_color != "black") 

如果您尝试删除具有一个条件或另一个条件的行:

   starwars%>% filter( ! hair_color != "none" | eye_color != "black")