R:使用 MatchIt 的倾向得分匹配。如何为不同的协变量指定所需的匹配精度?
R: Propensity Score Matching using MatchIt. How to specify desired matching accuracy for different covariates?
我对 R 比较陌生,尤其是对通过倾向得分进行匹配的方法。我的数据集包括两组人,他们在是否接受治疗方面存在差异 - 不幸的是,他们在年龄和疾病持续时间方面也存在显着差异,因此我希望匹配他们。
到目前为止这是我的代码:
set.seed(2208)
mod_match <- matchit(TR ~ age + disease_duration + sex + partner + work + academic,
data = Data_nomiss,
method = "nearest",
caliper = .025)
summary(mod_match)
这段代码工作正常,但我想知道是否有可能根据匹配的准确性来衡量协变量的重要性?对我而言,至关重要的是,各组在年龄和疾病持续时间(数字)方面尽可能接近,而其余变量(因素)也应匹配,但就我的目的而言,其均值可能与第一个略有不同二.
在寻找我的问题的解决方案时,我遇到了这个人的请求,他遇到了基本相同的问题 http://r.789695.n4.nabble.com/matchit-can-I-weight-the-parameters-td4633907.html
在这种情况下,建议结合最近邻和精确匹配,但转移到我的数据集后,这会导致我的样本不成比例地减少。最后,我想要的是某种定制的匹配过程,它侧重于年龄和疾病持续时间,同时也涉及最后三个变量,但方式较弱。
有没有人碰巧知道这是如何实现的?我真的很高兴收到有关此事的任何提示,感谢您的宝贵时间!
遗憾的是,MatchIt
不提供此功能。有两种方法可以代替使用 MatchIt
来执行此操作,但它们稍微高级一些。请注意,两者都没有使用倾向得分。倾向得分匹配的要点是匹配单个数字,即倾向得分,这使得匹配过程对需要平衡的原始协变量视而不见。
首先是使用包 Matching
并在 Match()
中包含您自己的权重矩阵 Weight.matrix
。您可以在权重矩阵中增加年龄和疾病持续时间。
第二种是使用包designmatch
做基数匹配,它允许你指定平衡约束,它会使用优化来找到满足这些约束的最大样本。在 bmatch()
中,将您感兴趣的协变量输入到 mom
参数中,这还允许您为每个变量包含特定的平衡约束。您可以对年龄和疾病持续时间要求更严格的平衡限制。
我对 R 比较陌生,尤其是对通过倾向得分进行匹配的方法。我的数据集包括两组人,他们在是否接受治疗方面存在差异 - 不幸的是,他们在年龄和疾病持续时间方面也存在显着差异,因此我希望匹配他们。
到目前为止这是我的代码:
set.seed(2208)
mod_match <- matchit(TR ~ age + disease_duration + sex + partner + work + academic,
data = Data_nomiss,
method = "nearest",
caliper = .025)
summary(mod_match)
这段代码工作正常,但我想知道是否有可能根据匹配的准确性来衡量协变量的重要性?对我而言,至关重要的是,各组在年龄和疾病持续时间(数字)方面尽可能接近,而其余变量(因素)也应匹配,但就我的目的而言,其均值可能与第一个略有不同二.
在寻找我的问题的解决方案时,我遇到了这个人的请求,他遇到了基本相同的问题 http://r.789695.n4.nabble.com/matchit-can-I-weight-the-parameters-td4633907.html
在这种情况下,建议结合最近邻和精确匹配,但转移到我的数据集后,这会导致我的样本不成比例地减少。最后,我想要的是某种定制的匹配过程,它侧重于年龄和疾病持续时间,同时也涉及最后三个变量,但方式较弱。
有没有人碰巧知道这是如何实现的?我真的很高兴收到有关此事的任何提示,感谢您的宝贵时间!
遗憾的是,MatchIt
不提供此功能。有两种方法可以代替使用 MatchIt
来执行此操作,但它们稍微高级一些。请注意,两者都没有使用倾向得分。倾向得分匹配的要点是匹配单个数字,即倾向得分,这使得匹配过程对需要平衡的原始协变量视而不见。
首先是使用包 Matching
并在 Match()
中包含您自己的权重矩阵 Weight.matrix
。您可以在权重矩阵中增加年龄和疾病持续时间。
第二种是使用包designmatch
做基数匹配,它允许你指定平衡约束,它会使用优化来找到满足这些约束的最大样本。在 bmatch()
中,将您感兴趣的协变量输入到 mom
参数中,这还允许您为每个变量包含特定的平衡约束。您可以对年龄和疾病持续时间要求更严格的平衡限制。