R:对日期间隔进行分类并在数据间隔之间添加行

时间:2018-05-30 02:38:12

标签: r

我有一个随时间推移的课程注册数据集,如start_date和end_date所示,约为50,000个ID。我有兴趣在特定时间范围内捕获该组的注册和未注册时段,特别是来自' 2001-06-01'到2015-01-01'即使数据早些时候回来了。我有兴趣为每个id创建行,这些行捕获这些注册/未注册期间的日期间隔,并创建一个对这些期间进行分类的附加变量; '在注册之前,#39;注册','之间注册','从未注册过'。

澄清;

一些示例数据

id = c(1,3,3,3,5,5)
entry_date = c(NA, '1996-05-09', '2005-12-12', '2013-12-19', '2011-11-05','2012-12-10')
exit_date = c(NA, '2005-12-10', '2008-12-10', '2016-01-01', '2016-09-01', '2013-02-20')
test 
id entry_date  exit_date
 1      NA       NA
 3 1996-05-09 2005-12-10
 3 2005-12-12 2008-12-10
 3 2013-12-19 2016-01-01
 5 2011-11-05 2012-09-01
 5 2012-12-10 2013-02-20

我的预期输出是;

id entry_date  exit_date  category
 1 2001-06-01 2016-01-01  Never enrolled
 3 2001-06-01 2005-12-10  Enrolled
 3 2005-12-10 2005-12-12  Between enrollment
 3 2005-12-12 2008-12-10  Enrolled
 3 2008-12-10 2013-12-19  Between enrollment
 3 2013-12-19 2016-01-01  Enrolled
 5 2001-06-01 2011-11-05  Prior to enrollment
 5 2011-11-05 2012-09-01  Enrolled
 5 2012-09-01 2012-12-10  Between enrollment
 5 2012-12-10 2013-02-20  Enrolled
 5 2013-02-20 2016-01-01  Between enrollment

任何有关如何实现此类目标的帮助都会非常感激!

0 个答案:

没有答案