求大神帮忙看看吧!
需要用SAS和R出倾向性评分的匹配结果,但现在问题是两个软件出来的倾向性评分(R里为distance,SAS里为propensity score)就不完全一致,小数点后几位是有差别的(图1 图2)。
匹配结果也不完全一致。两个软件最终匹配数量是一样(图3 ),但是匹配成功的具体案例是不一样的(图4),可以看到把PS评分小数位截断,保持一样的评分进行匹配,具体的人也不一致。
以下是我的程序,请各位大神帮忙看一下是什么原因导致的,难道R和SAS的PSM结果就是不一致的吗?
SAS程序:
Proc psmatch data=lalonde region=allobs;
class treat race married nodegree;
psmodel treat(TREATED="1") =age educ race married nodegree re74 re75;
match distance=lps method=greedy(k=1) caliper=0.25 weight=none;
assess ps var=(age educ re74 re75)/stddev=pooled(allobs=no)
stdbinvar=yes varinfo plots=all;
output out(obs=all)=result matchid=_MatchID ;
run;
R程序:
m.out1<-matchit(treat~age+educ+race+married+nodegree+re74+re75, data=lalonde,std.caliper=TRUE,method="nearest",ratio=1,caliper=0.25,distance="glm",link="logit",m.order="largest")
数据集为R自带的lalonde