首页 > 解决方案 > 表示多个 OR("|") 运算符语句的简写符号

问题描述

假设数据库格式如下:

 steps date       interval
   <dbl> <date>        <int>
 1     0 2012-10-01        0
 2     0 2012-10-01        5
 3     0 2012-10-01       10
 4     0 2012-10-01       15
 5     0 2012-10-01       20
 6     0 2012-10-01       25
 7     0 2012-10-01       30
 8     0 2012-10-01       35
 9     0 2012-10-01       40
10     0 2012-10-01       45

我想取出所有月份为 10 月 (10) 且日期在 1 到 10 之间的行。

a2 <- filter(y,(day(date)==1|day(date)==2|day(date)==3|day(date)==4|day(date)==5|day(date)==6|day(date)==7|day(date)==8|day(date)==9|day(date)==10) & month(date)==10)

有人可以给我上述代码的更短、更通用的版本吗?

标签: r

解决方案


>=如果您可以使用and运算符,您也许可以做到这一点<=

a2 <- filter(y,(day(date)>=1 && day(date)<=10) && month(date)==10)

推荐阅读