有没有办法在 R 中将多个 MatchIt 对象组合在一起

问题描述

我有一个数据集,我正在对其进行匹配,该数据集是具有重叠成员资格的重复横截面:

成员ID 治疗 学习月 年龄 性别 风险评分 慢性阻塞性肺病 瑞士法郎 糖尿病 ComplexProviderFLG
123 1 1 54 M 1.45 0 1 1 0
201 0 1 55 M 1.54 0 1 1 0
205 0 1 85 M .8 1 0 0 0
155 1 2 56 M 1.58 0 1 1 0
201 0 2 55 M 1.54 0 1 1 0
208 0 2 58 M 1.68 0 0 1 0

请注意会员 201 在第一个月和第二个月的横截面。因此,当我在一个 StudyMonth 上匹配时,我需要从未来横截面的潜在匹配池中删除与该横截面匹配的个体。在上面的玩具示例中,尽管 201 是第 1 个月的 123 和第 155第 2 个月,我不想他两次进入控制池。

执行 for 循环并重新运行匹配非常简单,消除先前选择的个体,然后将每个循环的结果绑定到一个最终的处理/对照组中,如下所示:

for (MatchMonth in 0:11){
WorkingMatchedCohort <- matchit(Treatment ~ Age + Sex + Riskscore +
                       CHF + copD + Diabetes + Depression + ComplexProviderFLG,data= filter(WorkingSet,(Treatment==0 | Treatment==1) & StudyMonth==MatchMonth))

    if(exists("unionedmatches")) {
      unionedmatches<-bind_rows(unionedmatches,match.data(WorkingMatchedCohort))
    }else{
      unionedmatches<-match.data(WorkingMatchedCohort)
    }
  ##Flag members so that they're not reused 
  WorkingSet$Treatment[WorkingSet$Treatment==0 & WorkingSet$MemberID %in% unionedmatches$MemberID] <-2
}

这给了我使用 unionedmatchesmatch.data tibble 中的组合结果。但是我将如何组合实际的 MatchIt 对象 WorkingMatchedCohort 以便我可以使用内置的 MatchIt 工具来绘制拟合优度?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...