基于指定条件为每个病例匹配最多3个专属对照样本的技术需求
病例-对照匹配需求
核心匹配规则
为每个病例(case)匹配最多3个对照样本(control),需满足以下3项条件:
- 年龄相差±3岁
- 性别(gender)一致
- pracid一致
额外约束
- 对照样本不可被多个病例共享,每个对照的patid仅能对应单个病例
- 最终输出需新增两个字段:
matched_id:标注该对照匹配的病例IDmatch_eventdate:将对应病例的eventdate复制为该字段值(作为后续疾病诊断统计的索引日期)
示例输入数据
#> dat # A tibble: 14 x 6 patid age gender status pracid eventdate <dbl> <dbl> <chr> <chr> <dbl> <date> 1 1 10 M case 100 2020-05-23 2 2 20 F case 200 2020-01-12 3 3 44 M case 300 2020-02-21 4 4 11 F case 100 2020-01-14 5 111 12 M control 100 NA 6 222 11 M control 100 NA 7 333 8 M control 100 NA 8 444 12 F control 200 NA 9 555 11 M control 100 NA 10 666 22 F control 100 NA 11 777 21 F control 100 NA 12 888 18 M control 200 NA 13 999 21 M control 200 NA 14 1000 18 M control 100 NA
单病例匹配示例(以病例1为例)
符合匹配条件的候选对照样本如下:
patid age gender status pracid 111 12 M control 100 222 11 M control 100 333 8 M control 100 555 11 M control 100
注:实际匹配时需从中选取最多3个未被其他病例占用的对照
最终输出格式示例
patid age gender status pracid matched_id match_eventdate 1 10 M case 100 1 2020-05-23 111 12 M control 100 1 2020-05-23 222 11 M control 100 1 2020-05-23 333 8 M control 100 1 2020-05-23
内容的提问来源于stack exchange,提问作者Someone
相关产品推荐
相关产品推荐

