R:使用MatchIt进行倾向评分匹配。如何为不同的协变量指定期望的匹配精度?

R:使用MatchIt进行倾向评分匹配。如何为不同的协变量指定期望的匹配精度?,r,nearest-neighbor,R,Nearest Neighbor,我对R相当陌生,尤其是倾向分数匹配的方法。我的数据集包括两组在是否接受治疗方面存在差异的人——不幸的是,他们在年龄和疾病持续时间方面也存在显著差异,因此我希望匹配他们 到目前为止,这是我的代码: set.seed(2208) mod_match <- matchit(TR ~ age + disease_duration + sex + partner + work + academic, data = Data_nomiss,

我对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)
set.seed(2208)

mod_match不幸的是,
MatchIt
不提供此功能。有两种方法可以代替使用
MatchIt
,但它们有点高级。请注意,两者都不使用倾向评分。倾向评分匹配的要点是匹配单个数字,即倾向评分,这使得匹配过程对需要平衡的原始协变量视而不见

第一种方法是使用包
Matching
,并在
Match()
中包含您自己的权重矩阵到
weight.matrix
。你可以在体重矩阵中增加年龄和疾病持续时间


第二种方法是使用包
designmatch
进行基数匹配,这允许您指定平衡约束,它将使用优化来查找满足这些约束的最大样本。在
bmatch()
中,将您感兴趣的协变量输入到
mom
参数中,该参数还允许您为每个变量包含特定的平衡约束。对于年龄和疾病持续时间,您可以要求更严格的平衡约束。

最亲爱的诺亚,非常感谢您的帮助!我想可能是我遗漏了一些关于MatchIt软件包和倾向评分匹配的信息,这些信息可能会使它起作用(例如,改变lm中协变量的权重,从而改变倾向评分)-这项研究让我发疯,因此我很高兴知道,使用MatchIt无法实现这一点。因此,我将研究您建议的备选方案,并可能在我到达后立即发布一个简短的更新?:-)不管怎样,再次感谢您的帮助-现在我知道从哪里开始:]