我正在尝试从R中的Stata复制pscore命令。似乎有很多R包来处理倾向得分匹配,但我无法弄清楚如何获得所需的输出。
Stata代码:
pscore dmmfd sexhead agehead educhead lnland vaccess pcirr rice wheat milk oil egg [pw=weight],
pscore(ps98) blockid(blockf1) comsup level(0.001);
****Nearest Neighbor Matching;
attnd lexptot dmmfd [pweight=weight], pscore(ps98) comsup;
****Stratification Matching;
atts lexptot dmmfd, pscore(ps98) blockid(blockf1) comsup;
****Radius Matching;
attr lexptot dmmfd, pscore(ps98) radius(0.001) comsup;
****Kernel Matching;
attk lexptot dmmfd, pscore(ps98) comsup bootstrap reps(50);
当前R代码:
pscore(formula = dmmfd ~ sexhead + agehead + educhead + lnland +
vaccess + pcirr + rice + wheat + milk + oil + egg, data = hh_98.df)
R中的pscore函数似乎没有设置blockid,comsup或level的能力,因此我不知道如何处理这个问题,因为所需的数字不正确。
不同类型的匹配似乎是参数设置,但我不确定使用哪个包。我认为MatchIt()包可能是最好的,但我不能得到系数输出。
数据:https://www.dropbox.com/s/ow510wzv6ohxa96/hh_98.df.csv?dl=0
所需输出的屏幕截图: