首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用OR时筛选器在数据帧(dplyr)上不起作用

使用OR时筛选器在数据帧(dplyr)上不起作用
EN

Stack Overflow用户
提问于 2016-06-24 10:15:34
回答 1查看 95关注 0票数 0

当我运行此命令时:filter(pitches, stand == "L", des == "Ball" | des == "Called Strike")

它似乎不起作用(请注意,标准列没有过滤),我得到的结果是:

代码语言:javascript
运行
复制
     num                   gameday_link stand b_height     px    pz  type           des
   (dbl)                          (chr) (chr)    (chr)  (dbl) (dbl) (chr)         (chr)
1     21 gid_2016_04_09_houmlb_milmlb_1     R     5-11  0.710 2.256     S Called Strike
2     37 gid_2016_04_09_houmlb_milmlb_1     R      6-4  0.819 3.336     S Called Strike
3     33 gid_2016_04_14_milmlb_slnmlb_1     L      6-3 -0.458 4.464     B          Ball
4     33 gid_2016_04_14_milmlb_slnmlb_1     L      6-3 -0.805 2.818     S Called Strike
5     17 gid_2016_04_19_milmlb_minmlb_1     L     5-10 -0.761 3.664     B          Ball
6     17 gid_2016_04_19_milmlb_minmlb_1     L     5-10 -0.574 3.472     B          Ball
7     17 gid_2016_04_19_milmlb_minmlb_1     L     5-10 -0.474 3.617     B          Ball
8     17 gid_2016_04_19_milmlb_minmlb_1     L     5-10 -0.350 1.267     B          Ball
9     50 gid_2016_04_19_milmlb_minmlb_1     L      6-0 -1.610 2.499     B          Ball
10    50 gid_2016_04_19_milmlb_minmlb_1     L      6-0 -1.177 1.543     B          Ball

当我运行此命令时:filter(pitches, stand == "L", des == "Ball")

它起作用了,我得到了这个:

代码语言:javascript
运行
复制
     num                   gameday_link stand b_height     px    pz  type   des
   (dbl)                          (chr) (chr)    (chr)  (dbl) (dbl) (chr) (chr)
1     33 gid_2016_04_14_milmlb_slnmlb_1     L      6-3 -0.458 4.464     B  Ball
2     17 gid_2016_04_19_milmlb_minmlb_1     L     5-10 -0.761 3.664     B  Ball
3     17 gid_2016_04_19_milmlb_minmlb_1     L     5-10 -0.574 3.472     B  Ball
4     17 gid_2016_04_19_milmlb_minmlb_1     L     5-10 -0.474 3.617     B  Ball
5     17 gid_2016_04_19_milmlb_minmlb_1     L     5-10 -0.350 1.267     B  Ball
6     50 gid_2016_04_19_milmlb_minmlb_1     L      6-0 -1.610 2.499     B  Ball
7     50 gid_2016_04_19_milmlb_minmlb_1     L      6-0 -1.177 1.543     B  Ball
8     50 gid_2016_04_19_milmlb_minmlb_1     L      6-0 -1.072 1.091     B  Ball
9     50 gid_2016_04_19_milmlb_minmlb_1     L      6-0 -0.987 3.506     B  Ball
10    34 gid_2016_04_19_milmlb_minmlb_1     L     5-10  1.962 2.302     B  Ball

为什么会这样呢?

EN

回答 1

Stack Overflow用户

发布于 2016-06-24 11:57:15

所以看起来dplyr的过滤器没有把逻辑参数放在括号里。

所以我的命令

filter(pitches, stand == "L", des == "Ball" | des == "Called Strike")

变成了

stand == "L" AND des == "Ball" OR des == "Called Strike"

正确的命令应该是

filter(pitches, stand == "L", (des == "Ball" | des == "Called Strike"))

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38004652

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档