r语言 - 使用 dplyr::filter 时,'&' 与 's. ',' 有什么区别?



我读过一些dplyr渐晕图和dplyr::filter示例,我很好奇当子集行使用列值时,&,之间有什么区别吗?因为结果是相同的,我只是担心可能会出现一些语义错误。下面是直接从示例粘贴的:

  • 在单个逻辑表达式中通过多个标准进行筛选:

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

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

# A tibble: 9 × 14
name       height  mass hair_color skin_color    eye_color birth_year sex   gender
<chr>       <int> <dbl> <chr>      <chr>         <chr>          <dbl> <chr> <chr> 
1 Nien Nunb     160    68 none       grey          black             NA male  mascu…
2 Gasgano       122    NA none       white, blue   black             NA male  mascu…
3 Kit Fisto     196    87 none       green         black             NA male  mascu…
... with more entries and variables ...

我能把它们放在一起吗?在单个表达式中使用&,?如下所示:

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

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

# A tibble: 7 × 14
name       height  mass hair_color skin_color  eye_color birth_year sex   gender  
<chr>       <int> <dbl> <chr>      <chr>       <chr>          <dbl> <chr> <chr>   
1 Nien Nunb     160    68 none       grey        black             NA male  masculi…
2 Gasgano       122    NA none       white, blue black             NA male  masculi…
3 Kit Fisto     196    87 none       green       black             NA male  masculi…
... with more entries and variables ...

因为结果也是一样的,提前谢谢!

来自文档(?dplyr::filter(:

如果包含多个表达式,则它们将与&运算符组合。

因此,使用,&是相同的。


这个答案来自@RitchieScramento的评论,一个月后发布。我不想盗用信用,我只想让这个问题不再以";未应答";而它实际上得到了回答

最新更新