title "Testing Equivalence of measures: Lord's Vocabulary Data"; data lord(type=cov); input _type_ $ _name_ $ x1 x2 y1 y2; datalines; n . 649 649 649 649 cov x1 86.3937 . . . cov x2 57.7751 86.2632 . . cov y1 56.8651 59.3177 97.2850 . cov y2 58.8986 59.6683 73.8201 97.8192 mean . 0 0 0 0 ; title "Lord's data: H4- unconstrained two-factor model"; proc calis data=lord cov short outram=ram4; lineqs x1 = beta1 F1 + e1, x2 = beta2 F1 + e2, y1 = beta3 F2 + e3, y2 = beta4 F2 + e4; std F1 F2 = 1 1, e1 e2 e3 e4 = ve1 ve2 ve3 ve4; cov F1 F2 = rho; run; title "Lord's data: H3- rho=1, one-congeneric factor"; proc calis data=lord cov summary outram=ram3; lineqs x1 = beta1 F1 + e1, x2 = beta2 F1 + e2, y1 = beta3 F2 + e3, y2 = beta4 F2 + e4; std F1 F2 = 1 1, e1 e2 e3 e4 = ve1 ve2 ve3 ve4; cov F1 F2 = 1; run; title "Lord's data: H2- X1 and X2 parallel, Y1 and Y2 parallel"; proc calis data=lord cov summary outram=ram2; lineqs x1 = betax F1 + e1, x2 = betax F1 + e2, y1 = betay F2 + e3, y2 = betay F2 + e4; std F1 F2 = 1 1, e1 e2 e3 e4 = vex vex vey vey; cov F1 F2 = rho; run; title "Lord's data: H1- X1 and X2 parallel, Y1 and Y2 parallel, rho=1"; proc calis data=lord cov summary outram=ram1; lineqs x1 = betax F1 + e1, x2 = betax F1 + e2, y1 = betay F2 + e3, y2 = betay F2 + e4; std F1 F2 = 1 1, e1 e2 e3 e4 = vex vex vey vey; cov F1 F2 = 1; run; * Combine the OUTRAM data sets, select the _TYPE_='STAT' statistics; data stats; set ram1 (in=in1) ram2 (in=in2) ram3 (in=in3) ram4 (in=in4); if in1 then model='H1 rho=1'; if in2 then model='H2'; if in3 then model='H3 rho=1'; if in4 then model='H4'; keep model _name_ _estim_; if _type_='STAT'; * if index('N FIT N_ACT ADJCHISQ P_ACHISQ RLSCHISQ ZTESTWH', trim(_name_)) > 0 then delete; title 'Model Comparison Statistics from RAM data sets'; proc transpose data=stats out=statt(drop=_label_ _name_); by model; var _estim_; proc print ; id model; var nparm df chisquar p_chisq rmr gfi agfi aic caic sbc centrali parsimon cnhoelt; run;