您好,我正在努力计算如何计算截止日期的案件数量。在表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
我一直在尝试多种方法,但是没有任何效果。有人可以帮我吗?预先非常感谢您的帮助!
答案 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))