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")