r - 按截止日期计算病例数
问题描述
嗨,我正在为如何计算截止日期的案件数量而苦苦挣扎。在表 AI 上,每个 ID 都附有截止日期的 ID。在表 BI 上有带有索赔案件发生日期的 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
我一直在尝试多种方法,但没有任何效果。有人可以帮我吗?非常感谢您的帮助!
解决方案
您可以使用 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))
推荐阅读
- excel - 多个条件的 SUM(if) 函数 + 动态的日期/时间
- python - 在不持久的任务中完成的模型更改
- python - “flask_bootstrap.Bootstrap 对象”没有属性“load_css”
- mysql - 即使对于简单的查询,Mysql 也总是给出语法错误
- sql - 如何从该表的两列中查找同一表中重复值的不同值
- html - webpack捆绑后css文件名消失
- react-native - React Native 异步存储解析
- flutter - 有没有办法在颤动中更新静态方法
- python - 如何在 multiprocessing.Process 中将未腌制的对象作为参数传递?
- c# - 如何模拟(没有任何模拟框架)其类型参数的特定值的通用函数