【发布时间】:2021-08-13 23:55:12
【问题描述】:
希望根据现有事件日期是否在另一列中的 2 个日期内对现有事件日期进行分类
我的原始数据如下所示:
| study_id | Event | Event_Date | Event_Result | Pre1 | CheckUp | Post1 | Pre2 | CheckUp2 | Post2 | Pre3 | CheckUp3 | Post3 | Pre4 | CheckUp4 | Post4 | Pre5 | CheckUp5 | Post5 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 1 | event1 | 5/4/2012 | 1 | 7/23/2012 | 10/23/2012 | 1/23/2013 | 11/25/2013 | 2/25/2014 | 5/25/2014 | 8/1/2014 | 11/1/2014 | 2/1/2015 | 7/4/2015 | 10/4/2015 | 1/4/2016 | 7/4/2016 | 10/4/2016 | 1/4/2017 |
| 1 | event1 | 5/15/2012 | 1 | 7/23/2012 | 10/23/2012 | 1/23/2013 | 11/25/2013 | 2/25/2014 | 5/25/2014 | 8/1/2014 | 11/1/2014 | 2/1/2015 | 7/4/2015 | 10/4/2015 | 1/4/2016 | 7/4/2016 | 10/4/2016 | 1/4/2017 |
| 1 | event1 | 6/5/2012 | 1 | 7/23/2012 | 10/23/2012 | 1/23/2013 | 11/25/2013 | 2/25/2014 | 5/25/2014 | 8/1/2014 | 11/1/2014 | 2/1/2015 | 7/4/2015 | 10/4/2015 | 1/4/2016 | 7/4/2016 | 10/4/2016 | 1/4/2017 |
| 1 | event1 | 7/3/2012 | 0.8 | 7/23/2012 | 10/23/2012 | 1/23/2013 | 11/25/2013 | 2/25/2014 | 5/25/2014 | 8/1/2014 | 11/1/2014 | 2/1/2015 | 7/4/2015 | 10/4/2015 | 1/4/2016 | 7/4/2016 | 10/4/2016 | 1/4/2017 |
| 2 | event2 | 8/14/2012 | 1 | 7/23/2012 | 10/23/2012 | 1/23/2013 | 11/25/2013 | 2/25/2014 | 5/25/2014 | 8/1/2014 | 11/1/2014 | 2/1/2015 | 7/4/2015 | 10/4/2015 | 1/4/2016 | 7/4/2016 | 10/4/2016 | 1/4/2017 |
| 2 | event2 | 9/11/2012 | 1.2 | 7/23/2012 | 10/23/2012 | 1/23/2013 | 11/25/2013 | 2/25/2014 | 5/25/2014 | 8/1/2014 | 11/1/2014 | 2/1/2015 | 7/4/2015 | 10/4/2015 | 1/4/2016 | 7/4/2016 | 10/4/2016 | 1/4/2017 |
| 2 | event1 | 9/21/2012 | 1 | 7/23/2012 | 10/23/2012 | 1/23/2013 | 11/25/2013 | 2/25/2014 | 5/25/2014 | 8/1/2014 | 11/1/2014 | 2/1/2015 | 7/4/2015 | 10/4/2015 | 1/4/2016 | 7/4/2016 | 10/4/2016 | 1/4/2017 |
| 3 | event1 | 10/9/2012 | 1.1 | 7/23/2012 | 10/23/2012 | 1/23/2013 | 11/25/2013 | 2/25/2014 | 5/25/2014 | 8/1/2014 | 11/1/2014 | 2/1/2015 | 7/4/2015 | 10/4/2015 | 1/4/2016 | 7/4/2016 | 10/4/2016 | 1/4/2017 |
| 3 | event1 | 10/23/2012 | 1.1 | 7/23/2012 | 10/23/2012 | 1/23/2013 | 11/25/2013 | 2/25/2014 | 5/25/2014 | 8/1/2014 | 11/1/2014 | 2/1/2015 | 7/4/2015 | 10/4/2015 | 1/4/2016 | 7/4/2016 | 10/4/2016 | 1/4/2017 |
| 3 | event2 | 10/25/2012 | 1 | 7/23/2012 | 10/23/2012 | 1/23/2013 | 11/25/2013 | 2/25/2014 | 5/25/2014 | 8/1/2014 | 11/1/2014 | 2/1/2015 | 7/4/2015 | 10/4/2015 | 1/4/2016 | 7/4/2016 | 10/4/2016 | 1/4/2017 |
| 4 | event2 | 11/2/2012 | 1 | 7/23/2012 | 10/23/2012 | 1/23/2013 | 11/25/2013 | 2/25/2014 | 5/25/2014 | 8/1/2014 | 11/1/2014 | 2/1/2015 | 7/4/2015 | 10/4/2015 | 1/4/2016 | 7/4/2016 | 10/4/2016 | 1/4/2017 |
| 4 | event1 | 11/13/2012 | 1 | 7/23/2012 | 10/23/2012 | 1/23/2013 | 11/25/2013 | 2/25/2014 | 5/25/2014 | 8/1/2014 | 11/1/2014 | 2/1/2015 | 7/4/2015 | 10/4/2015 | 1/4/2016 | 7/4/2016 | 10/4/2016 | 1/4/2017 |
预期结果我希望每个间隔规则都有一个列(有关间隔详细信息,请参阅下面我尝试过的部分,但基本上总共有 10 个额外的列),如果 event_Date 下降在区间规则内,标记为真,否则为假。我可以在 Excel 中做到这一点,但在 R 中寻找解决方案。
请参阅下面的示例。
| personID | Event_Date | Event_Result | Pre1 | CheckUp | Post1 | Pre2 | CheckUp2 | Post2 | Pre3 | CheckUp3 | Post3 | Pre4 | CheckUp4 | Post4 | Pre5 | CheckUp5 | Post5 | Interval1 | Interval2 | Interval3 | Interval4 | Interval5 | Interval6 | Interval7 | Interval8 | Interval9 | Interval10 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 1 | 5/4/2012 | 1 | 7/23/2012 | 10/23/2012 | 1/23/2013 | 11/25/2013 | 2/25/2014 | 5/25/2014 | 8/1/2014 | 11/1/2014 | 2/1/2015 | 7/4/2015 | 10/4/2015 | 1/4/2016 | 7/4/2016 | 10/4/2016 | 1/4/2017 | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE |
| 1 | 5/15/2012 | 1 | 7/23/2012 | 10/23/2012 | 1/23/2013 | 11/25/2013 | 2/25/2014 | 5/25/2014 | 8/1/2014 | 11/1/2014 | 2/1/2015 | 7/4/2015 | 10/4/2015 | 1/4/2016 | 7/4/2016 | 10/4/2016 | 1/4/2017 | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE |
| 1 | 6/5/2012 | 1 | 7/23/2012 | 10/23/2012 | 1/23/2013 | 11/25/2013 | 2/25/2014 | 5/25/2014 | 8/1/2014 | 11/1/2014 | 2/1/2015 | 7/4/2015 | 10/4/2015 | 1/4/2016 | 7/4/2016 | 10/4/2016 | 1/4/2017 | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE |
| 2 | 7/3/2012 | 0.8 | 7/23/2012 | 10/23/2012 | 1/23/2013 | 11/25/2013 | 2/25/2014 | 5/25/2014 | 8/1/2014 | 11/1/2014 | 2/1/2015 | 7/4/2015 | 10/4/2015 | 1/4/2016 | 7/4/2016 | 10/4/2016 | 1/4/2017 | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE |
| 2 | 8/14/2012 | 1 | 7/23/2012 | 10/23/2012 | 1/23/2013 | 11/25/2013 | 2/25/2014 | 5/25/2014 | 8/1/2014 | 11/1/2014 | 2/1/2015 | 7/4/2015 | 10/4/2015 | 1/4/2016 | 7/4/2016 | 10/4/2016 | 1/4/2017 | TRUE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE |
| 3 | 9/11/2012 | 1.2 | 7/23/2012 | 10/23/2012 | 1/23/2013 | 11/25/2013 | 2/25/2014 | 5/25/2014 | 8/1/2014 | 11/1/2014 | 2/1/2015 | 7/4/2015 | 10/4/2015 | 1/4/2016 | 7/4/2016 | 10/4/2016 | 1/4/2017 | TRUE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE |
| 3 | 9/21/2012 | 1 | 7/23/2012 | 10/23/2012 | 1/23/2013 | 11/25/2013 | 2/25/2014 | 5/25/2014 | 8/1/2014 | 11/1/2014 | 2/1/2015 | 7/4/2015 | 10/4/2015 | 1/4/2016 | 7/4/2016 | 10/4/2016 | 1/4/2017 | TRUE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE |
| 3 | 10/9/2012 | 1.1 | 7/23/2012 | 10/23/2012 | 1/23/2013 | 11/25/2013 | 2/25/2014 | 5/25/2014 | 8/1/2014 | 11/1/2014 | 2/1/2015 | 7/4/2015 | 10/4/2015 | 1/4/2016 | 7/4/2016 | 10/4/2016 | 1/4/2017 | TRUE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE |
| 4 | 10/23/2012 | 1.1 | 7/23/2012 | 10/23/2012 | 1/23/2013 | 11/25/2013 | 2/25/2014 | 5/25/2014 | 8/1/2014 | 11/1/2014 | 2/1/2015 | 7/4/2015 | 10/4/2015 | 1/4/2016 | 7/4/2016 | 10/4/2016 | 1/4/2017 | TRUE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE |
| 4 | 10/25/2012 | 1 | 7/23/2012 | 10/23/2012 | 1/23/2013 | 11/25/2013 | 2/25/2014 | 5/25/2014 | 8/1/2014 | 11/1/2014 | 2/1/2015 | 7/4/2015 | 10/4/2015 | 1/4/2016 | 7/4/2016 | 10/4/2016 | 1/4/2017 | FALSE | TRUE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE |
| 4 | 11/2/2012 | 1 | 7/23/2012 | 10/23/2012 | 1/23/2013 | 11/25/2013 | 2/25/2014 | 5/25/2014 | 8/1/2014 | 11/1/2014 | 2/1/2015 | 7/4/2015 | 10/4/2015 | 1/4/2016 | 7/4/2016 | 10/4/2016 | 1/4/2017 | FALSE | TRUE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE |
| 5 | 11/13/2012 | 1 | 7/23/2012 | 10/23/2012 | 1/23/2013 | 11/25/2013 | 2/25/2014 | 5/25/2014 | 8/1/2014 | 11/1/2014 | 2/1/2015 | 7/4/2015 | 10/4/2015 | 1/4/2016 | 7/4/2016 | 10/4/2016 | 1/4/2017 | FALSE | TRUE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE |
我的尝试 我试图创建间隔来查看 Event_Result 并查看它是否在基于 Post、Pre 和 CheckUp 日期的范围内。我关心的区间规则如下10条:
Interval1 = 如果 EventDate >= Pre1 AND EvenDate
Interval2 = 如果 EventDate > CheckUp AND EvenDate
Interval3 = 如果 EventDate >= Pre2 AND EvenDate
Interval4 = 如果 EventDate > CheckUp2 AND EvenDate
*
*
Interval9 = 如果 EventDate >= Pre5 AND EventDate
Interval10 = 如果 EventDate > CheckUp5 AND EventDate
我尝试使用 LUBRIDATE,但没有成功。正如我提到的,我能够在 Excel 中执行此操作,但只是在 R 中寻找一种方法(对 LUBRIDATE、DPLYR 或其他库开放)
INTERVAL_1
【问题讨论】: