R 在MatchIt软件包中使用Mahalonobis距离和卡尺

R 在MatchIt软件包中使用Mahalonobis距离和卡尺,r,matching,mahalanobis,propensity-score-matching,R,Matching,Mahalanobis,Propensity Score Matching,首先:这个问题可能与中的重复/已经解决 我想使用MatchIt包使用马氏距离在我的数据集中执行完全阻塞匹配。我有两个观察到的协变量(年龄和性别),我想用于匹配 我知道我可以使用以下参数执行基于马氏体的匹配: formula <- as.formula("group ~ sex_boolean + age") m.out <- matchit(formula=formula, data=data_df,

首先:这个问题可能与中的重复/已经解决

我想使用
MatchIt
包使用马氏距离在我的数据集中执行完全阻塞匹配。我有两个观察到的协变量(年龄和性别),我想用于匹配

我知道我可以使用以下参数执行基于马氏体的匹配:

formula <- as.formula("group ~ sex_boolean + age")
m.out <- matchit(formula=formula,
                 data=data_df,
                 distance='mahalanobis')

site_df_matched <- get_matches(m.out,data=data_df)


formula是的,使用
MatchIt
4.0.0及更高版本,这是很简单的。如果要匹配马氏距离,但要包括倾向分数卡尺,
distance
参数需要对应于倾向分数,并且
mahvars
参数控制对其执行协变量马氏距离匹配。例如,在估计了包含其他变量(例如,
race
educ
)的倾向得分后,要对
sex
age
执行马氏距离匹配,您需要运行以下代码:

m.out <- matchit(treat ~ age + sex + race + educ, #variables used in PS
                 data = data_df,                  #dataset
                 distance = "glm",                #method of estimating PS
                 caliper = .25,                   #width of caliper on PS
                 mahvars = ~ age + sex)           #variables used in Mahalanobis distance
m.out
m.out <- matchit(treat ~ age + sex, 
                 data = data_df, 
                 distance = "mahalanobis")