如何使用dplyr根据条件对行进行子集(按组)

时间:2018-07-16 14:20:48

标签: r dplyr

我有以下数据集:

ID   Date
ABC  2016-01-02
ABC  2016-03-03
ABC  2016-05-20
ABC  2016-07-30
ABC  2016-09-15
ABC  2016-10-02
ABC  2017-02-02
ABC  2017-04-02
ABC  2017-05-02
DDEF  2015-02-02
DDEF  2015-04-03
DDEF  2015-05-20
DDEF  2015-08-30
DDEF  2015-09-15
DDEF  2015-11-02
DDEF  2016-03-02
DDEF  2016-06-02
DDEF  2016-08-02

我只希望这些记录(按组)位于组中的第一个日期与365天之间加上第一个日期(包括两者)之间。

    ID   Date
ABC  2016-01-02
ABC  2016-03-03
ABC  2016-05-20
ABC  2016-07-30
ABC  2016-09-15
ABC  2016-10-02
DDEF  2015-02-02
DDEF  2015-04-03
DDEF  2015-05-20
DDEF  2015-08-30
DDEF  2015-09-15
DDEF  2015-11-02

我编写了一个函数,该函数按组和标志逐行浏览,然后如果Date小于组中的第一个日期+ 365天。但是当数据集很大时,它需要很长时间。有dplyr解决方案可以更快地做到吗?

0 个答案:

没有答案