/*-----------------------------------------------------------| | Holzinger & Swineford Data - 9 Ability Variables | |Part of a battery of 24 ability tests given to junior high | |school students at two Chicago schools in 1939. This data | |is from one school, the Grant White School. | |Reliabilities of the tests are taken from Gorsuch. | |-----------------------------------------------------------*/ title 'Holzinger & Swineford 9 Ability Variables'; data psych9(Type=CORR); Input _NAME_ $1-3 _TYPE_ $5-9 X1 X2 X4 X6 X7 X9 X10 X12 X13; label X1='Visual Perception' X2='Cubes' X4='Lozenges' X6='Paragraph Comprehen' X7='Sentence Completion' X9='Word Meaning' X10='Addition' X12='Counting Dots' X13='Straight-curved Caps' ; datalines; X1 CORR 1. . . . . . . . . X2 CORR .318 1. . . . . . . . X4 CORR .436 .419 1. . . . . . . X6 CORR .335 .234 .323 1. . . . . . X7 CORR .304 .157 .283 .722 1. . . . . X9 CORR .326 .195 .350 .714 .685 1. . . . X10 CORR .116 .057 .056 .203 .246 .170 1. . . X12 CORR .314 .145 .229 .095 .181 .113 .585 1. . X13 CORR .489 .239 .361 .309 .345 .280 .408 .512 1. N 145 145 145 145 145 145 145 145 145 MEAN 29.60 24.80 15.97 9.95 18.85 90.18 68.59 109.75 191.8 STD 6.89 4.43 8.29 3.36 4.63 7.92 23.70 20.92 36.91 RELI .7563 .5677 .9365 .7499 .7536 .8701 .9518 .9374 .8889 run; proc print; /*-----------------------------------------------| | Principal factors, SMC on diagonal | |-----------------------------------------------*/ title2 'Principal factor solution'; proc Factor data=psych9 Method=PRINCIPAL Priors=SMC Round Scree Rotate=VARIMAX;run; /*-----------------------------------------------| | Maximum liklihood FA, k=2 (just for Chisq) | |-----------------------------------------------*/ title2 'Maximum liklihood solution, k=2'; proc Factor data=psych9 Method=ML NFact=2 Round; run; /*-----------------------------------------------| | Maximum liklihood FA, k=3 | |-----------------------------------------------*/ title2 'Maximum liklihood solution, k=3'; proc Factor data=psych9 Outstat=FACTORS /* Output data set */ Method=ML NFact=3 Round Rotate=VARIMAX; /*-----------------------------------------------| | Extract communalities, merge with reliability | | and calculate unique and specific variances | |-----------------------------------------------*/ data Communal; set FACTORS ; If _TYPE_='COMMUNAL' then Output; set psych9 ; If _TYPE_='RELI' then Output; proc Transpose; Id _TYPE_; data Communal; Set; SPECIFIC = RELI - COMMUNAL; ERROR = 1 - RELI; UNIQUE = 1 - COMMUNAL; COMPLETE = 100* COMMUNAL / RELI; Label _NAME_ ='Test' _LABEL_='Name' RELI='Reliability' COMMUNAL='Common Variance' UNIQUE ='Unique Variance' SPECIFIC='Specific Variance' ERROR ='Error Variance' COMPLETE='Factor Completeness'; Format RELI COMMUNAL UNIQUE SPECIFIC ERROR 7.3 COMPLETE 6.; proc Print split=' ' data=COMMUNAL; Id _NAME_ _LABEL_; Var RELI COMMUNAL UNIQUE SPECIFIC ERROR; title3 'Variance decomposition for each test';title4 ' '; run;