options pageno=1 ; OPTIONS FORMCHAR="|----|+|---+=|-/\<>*"; PROC IMPORT OUT= WORK.classroom DATAFILE= "C:\temp\classroom.csv" DBMS=CSV REPLACE; GETNAMES=YES; DATAROW=2; GUESSINGROWS=20; RUN; proc sort data = classroom; by schoolid classid; run; title "Model 4.2 (Final)"; ods exclude SolutionR; ods output SolutionR=Eblups_4_2; proc mixed data = classroom noclprint covtest; class classid schoolid; model mathgain = mathkind sex minority ses / solution outpred = pdat1; random schoolid /solution; random classid(schoolid) / solution; run; /*Figure 4.5: Normal QQ Plot of EBLUPS for Classrooms*/ title "Figure 4.5"; proc univariate data=eblups_4_2 noprint; where effect="classid(schoolid)"; var estimate; qqplot / normal (mu=est sigma=est); format estimate 5.2; run; /*Figure 4.6: Normal QQ Plot of EBLUPS for Schools*/ title "Figure 4.6"; proc univariate data=eblups_4_2 noprint; where effect="schoolid"; var estimate; qqplot / normal (mu=est sigma=est); format estimate 5.2; run; /*Figure 4.7: Normal QQ Plot of Level 1 (Conditional) Residuals*/ title "Figure 4.7"; proc univariate data=pdat1 noprint; var resid; qqplot / normal (mu=est sigma=est); format resid 5.; run; /*Figure 4.8: Scatterplot of Conditional Residuals vs. Predicted Values*/ goptions reset=all; goptions device=win target=winprtm ftext=swissb fby=swissb hby=2; symbol1 color = black value=circle ; title "Figure 4.8"; proc gplot data=pdat1; plot resid*pred / vref=0 lvref=3 ; run; quit;