按截止日期计算案件数

时间:2019-09-23 13:53:26

标签: r

您好,我正在努力计算如何计算截止日期的案件数量。在表A上,我有一个ID,每个ID都附有截止日期。在表B上,我具有ID以及发生索赔案件的日期。我希望在表A的截止日期前计算ID已处理的案件数。

表A

ID     Date       
A    2019-01-03      
A    2019-05-03      
A    2019-09-23      
B    2019-02-04      
B    2019-03-16      

表B

ID   Claim_Date   
 A    2018-12-03      
 A    2019-04-23      
 B    2019-03-16   

我想实现以下数据结构:

ID     Date           Claims

A       2019-01-03         1  
A       2019-05-03         2   
A       2019-09-23         2   
B       2019-02-04         0   
B       2019-03-16         1   

我一直在尝试多种方法,但是没有任何效果。有人可以帮我吗?预先非常感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

您可以尝试使用dply,tidyr和lubridate

library(dplyr)
library(tidyr)
library(lubridate)

# Transform to date columns
TableA <- TableA %>%
    mutate(Date = lubridate::date(Date))

TableB <- TableB %>%
    mutate(Claim_Date = lubridate::date(Claim_Date))

# Join Tables and count Dates greater or equal than Claim Dates.
TableA %>%
 left_join(TableB) %>%
 mutate(Claims = ifelse(Date >= Claim_Date,1,0)) %>%
 group_by(ID, Date) %>%
 summarise(Claims = sum(Claims))