Сокращенная запись представления нескольких операторов оператора OR ("|") - PullRequest
0 голосов
/ 12 июня 2019

Предположим, база данных в следующем формате:

 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) с датами от 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)

Может кто-нибудь дать мне более короткую и универсальную версию приведенного выше кода?

Ответы [ 2 ]

1 голос
/ 12 июня 2019

Вы можете сделать это, если можете использовать операторы >= и <=.

a2 <- filter(y,(day(date)>=1 && day(date)<=10) && month(date)==10)
0 голосов
/ 21 июня 2019

У меня есть сомнения, почему вы задаете повторные вопросы?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...