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

如何提取twang包多组倾向得分匹配后的匹配数据集

twang包多组倾向得分匹配后提取匹配数据集的操作方法

场景1:使用twang默认加权PSM方案(多组处理最常用方案)

  • 第一步:从已完成拟合的mnps对象中提取样本权重,合并到原始数据集
    假设你的多组PSM拟合结果对象名为mnps_fit,原始数据集名为raw_data,运行以下代码:
    # 提取ATE对应的平衡最优权重,若需ATT权重可自行调整stop.method参数
    ps_weight <- get.weights(mnps_fit, stop.method = "es.mean")
    # 合并权重到原始数据集
    matched_data_weighted <- cbind(raw_data, ps_weight = ps_weight)
    
  • 第二步:筛选有效匹配样本(等同于MatchIt中match.data剔除无匹配样本的逻辑)
    直接保留权重大于0的样本即可排除完全未匹配的无效样本:
    matched_data_final <- matched_data_weighted[matched_data_weighted$ps_weight > 0, ]
    
    后续进行组间结局比较时,将ps_weight作为分析权重带入统计模型即可,和MatchIt输出的match.data中weights字段用法完全一致。

场景2:使用twang的精确匹配模式完成多组匹配

如果你没有用加权方案,而是选择了匹配模式完成PSM,直接提取匹配组ID筛选样本即可:

  • 第一步:提取匹配ID合并到原始数据集
    match_id <- mnps_fit$match.id
    matched_data <- cbind(raw_data, match_id = match_id)
    
  • 第二步:剔除未匹配样本
    # 剔除匹配ID为空的未匹配样本
    matched_data_final <- matched_data[!is.na(matched_data$match_id), ]
    

匹配完成后可直接调用twang自带的bal.table(mnps_fit)查看协变量平衡性,无需额外处理数据集。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 13:57:04