Как фильтровать на основе равенства между несколькими столбцами - PullRequest
0 голосов
/ 27 апреля 2019

У меня есть фрейм данных, аналогичный приведенному ниже.И я хочу отфильтровать его, группируя по продуктам, чтобы я сохранил только те строки, где month> = start_month для year == start_year.Но в течение последующих лет мне нужно сохранить все месяцы.

product year month start_year start_month
A       2015   1     2015        10
A       2015   2     2015        10
A       2015   3     2015        10
A       2015   4     2015        10
A       2015   5     2015        10
A       2015   6     2015        10
A       2015   7     2015        10
A       2015   8     2015        10
A       2015   9     2015        10
A       2015   10     2015       10
A       2015   11     2015       10
A       2015   12     2015       10
A       2016   1     2015        10 
A       2016   2     2015        10
A       2016   3     2015        10
A       2016   4     2015        10
...
B       2015   1     2015        11
B       2015   2     2015        11
...

Я пытался:

  df <- df %>%
  group_by(product) %>% 
  filter(month >= start_month)

Но это также отфильтровывает месяцы и в последующие годы.

Таким образом, окончательные результаты должны выглядеть следующим образом:

product year month start_year start_month
A       2015   10     2015       10
A       2015   11     2015       10
A       2015   12     2015       10
A       2016   1     2015        10 
A       2016   2     2015        10
A       2016   3     2015        10
A       2016   4     2015        10
...
A       2018   12    2015        10
...
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...