小dplyr语法澄清

小dplyr语法澄清,r,R,我不知道为什么我仍然困在这个问题上,并试图四处研究,我不敢相信我仍然困在这个问题上 如何在同一个filter语句中集成'between','or','and' 我以为逗号应该是‘and’和|或者我使用下面的filter语句。没有给出预期的结果 样品 d<-structure(list(minsell= c(31,-31,0,0), maxsell= c(31,-31,0,0), minbuy= c(0,0,31,31)

我不知道为什么我仍然困在这个问题上,并试图四处研究,我不敢相信我仍然困在这个问题上

如何在同一个filter语句中集成'between','or','and'

我以为逗号应该是‘and’和|或者我使用下面的filter语句。没有给出预期的结果

样品

d<-structure(list(minsell= c(31,-31,0,0),
                  maxsell= c(31,-31,0,0),
                  minbuy= c(0,0,31,31),
                  maxbuy= c(0,0,0,31)), class = "data.frame", row.names = c(NA, -4L))

d如果我们想将多个表达式包装为单个块,那么总是建议将它们包装为
()
以作为单个块进行计算。否则,由于运算符的优先级(大多数语言都有自己的集合或运算符优先级、赋值优先级等),可能会导致不同的结果。来自
dplyr
between
功能是
x>=left&x的快捷方式
。dput结构给出错误,即
d%>%过滤器((minsell,1,-31)之间)和(maxsell,1,-31)之间)|((minbuy,31,-1)之间)|(maxsbuy,31,-1)之间)
。我根据代码得到0行,但预期输出的图像与输入的图像不同。可能是你复制了错误的图像是的,我的错。很抱歉现在查看如果您检查
?between
left
right
参数是
x>=left&x=31&minbuy,类似于
d%>%过滤器((介于(minsell,-31,1)和(maxsell,-31,1)之间)&介于(minbuy,1,32)和介于(maxbuy,0,30)之间)
因为
之间不包括边界
testing<-testing%>%dplyr::filter(((between(minsell, 1, -31)),(between(maxsell, 1, -31)))|((between(minbuy, 31, -1))|(between(maxbuy, 31, -1))))
d %>% 
    filter((between(minsell, -31, 1) & between(maxsell, -31, 1)) | 
           (between(minbuy, 1, 32) & between(maxbuy, 0, 30)))