You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用MatchThem正确提取1:1匹配后的13例对照与病例数据集?

用MatchThem匹配后提取数据集的正确方法

你用complete()肯定不对,那是用来补全缺失数据组合的,根本不是干这个的。MatchThem是基于MatchIt做匹配的,提取匹配后数据集得用专门的方法:

  • 先假设你是这么执行匹配的:

    library(MatchThem)
    # treat是分组变量,1代表病例,0代表对照
    match_result <- matchthem(treat ~ 协变量1 + 协变量2 + 协变量3, 
                             data = 你的数据集, 
                             method = "nearest", 
                             replace = FALSE, 
                             ratio = 1)
    
  • 提取匹配后数据集直接用match.data()函数就行:

    matched_data <- match.data(match_result)
    

    这个函数会自动把没匹配上的6个对照筛掉,留下13对匹配好的样本,总26行数据。

  • 另外也可以通过权重列筛选,匹配成功的样本权重为1,未匹配的为0:

    matched_data <- 你的数据集[match_result$weights == 1, ]
    

之前用complete()没用,是因为它的功能是补全缺失的变量组合,不是筛选匹配样本,自然会保留原数据集的所有样本。

内容的提问来源于stack exchange,提问作者SesameCat

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.19 11:02:02