********************************************************** ***********Chapter 4: Analysis after PS Matching********** **********************************************************; **Read in original data**; PROC IMPORT OUT= SASUSER.matchdat DATAFILE= "D:/Sage Little Green Book/website materials/mpsdemo.csv" DBMS=CSV REPLACE; GETNAMES=YES; DATAROW=2; RUN; PROC CONTENTS DATA=SASUSER.matchdat; RUN; **Two sample t-test example on the matched data**; proc ttest data=SASUSER.matchdat sides=2 alpha=0.05 h0=0; title "Two sample t-test example"; class s_treatment; var S_CLIMATE_RECESSSAFETY; run; **Regression Adjustment example**; proc causaltrt data=SASUSER.matchdat method=regadj poutcomemod; title "Regression Adjustment example"; psmodel s_treatment(ref='0'); model S_CLIMATE_RECESSSAFETY = S_CONFLICTRES_RELATIONSHIPS S_CONFLICTRES_AGGBELIEF S_LEARNING_SPORTSEFFECT S_RECESS_ENJOYMENT S_YOUTHDEV_PEERCONFLICT; run; **Regression Adjustment example for ATT**; proc causaltrt data=SASUSER.matchdat method=regadj att; psmodel s_treatment(ref='0'); model S_CLIMATE_RECESSSAFETY = S_CONFLICTRES_RELATIONSHIPS S_CONFLICTRES_AGGBELIEF S_LEARNING_SPORTSEFFECT S_RECESS_ENJOYMENT S_YOUTHDEV_PEERCONFLICT; run; ********************************** *********** PS weighting ********* **********************************; PROC IMPORT DATAFILE= "D:/Sage Little Green Book/website materials/mpsdemo.csv" OUT=pswt_demo DBMS=csv REPLACE; GETNAMES=YES; RUN; PROC CONTENTS DATA=WORK.pswt_demo; RUN; ***ATE in SAS; DATA PSWT_DEMO; SET PSWT_DEMO; PS_ATE=(s_treatment/PS) + ((1- s_treatment)/(1- PS)); RUN; ODS GRAPHICS ON; PROC TTEST DATA=PSWT_DEMO; CLASS s_treatment; VAR S_CLIMATE_RECESSSAFETY; WEIGHT PS_ATE; RUN; ***ATT in SAS; DATA PSWT_DEMO; SET PSWT_DEMO; PS_ATT=s_treatment + ((1- s_treatment)*PS)/(1- PS); RUN; ODS GRAPHICS ON; PROC TTEST DATA=PSWT_DEMO; CLASS s_treatment; VAR S_CLIMATE_RECESSSAFETY; WEIGHT PS_ATT; RUN;