我对R比较陌生,我希望有人能为我回答这个问题 . 我在数据框proc_id,mco_id,start_date和end_date中有四列 . PLEASE CLICK ON THIS IMAGE TO SEE THE DATAFRAME.这是我要追求的逻辑 . 对于proc_id和mco_id的每个组合,如果start_date恰好位于前一个end_date之后,则proc_id和mco_id组合的最终数据帧是最小开始日期和最大结束日期 .
例如,前三行分别包含1234和ABC for proc_id和mco_id . 数据框第3行的开始日期是第2行结束日期后的第一天,第2行的开始日期是第1行结束日期后的第一天 . 因此,我的最终数据帧为proc_id,mco_id为1234和ABC的开始日期必须为“2014-01-01”,结束日期为“2014-07-01” . 现在,如果proc_id和mco_id组合的开始日期大于滞后结束日期的1天,那么它们保持原样 . 最后,如果开始日期在滞后结束日期之前,则类似于第一个实例,考虑proc_id和mco_id组合的最小开始日期和最大结束日期 . 所以,这是我对最终数据帧的期望 .
This is the final data frame that I would like to get.
任何帮助将不胜感激 .
1 回答
这是一个包含
dplyr
包的快速解决方案:df
使用:注意:我会花更多时间将您的图片转录为可读形式 . 请在将来提供可重复的示例 .