*------------------------------------------------------------; * PHYS8A SAS Eight Physical Variables - Rotation Methods ; * Data from Ph.D. thesis of Mullen(1935), Univ. of Chicago ; * Used extensively in Harman's Modern Factor Analysis, 1967 ; * The first 4 variables were assumed to measure 'lankiness ; * the last 4 'stockiness' ; *------------------------------------------------------------; DATA PHYS8(TYPE=CORR); title 'EIGHT PHYSICAL VARIABLES: Rotation Methods'; title2 'See page 80 of Harman: Modern Factor Analysis, 2nd Ed.'; Length _NAME_ _TYPE_ $8; INPUT _NAME_ $ 1-5 _TYPE_ 6-9 VAR1 11-16 VAR2 17-24 VAR3 25-32 VAR4 33-40 VAR5 41-48 VAR6 49-56 VAR7 57-64 VAR8 65-72; LABEL VAR1='Height' VAR2='Arm span' VAR3='Length of forearm' VAR4='Length of lower leg' VAR5='Weight' VAR6='Bitrochanteric diameter' VAR7='Chest girth' VAR8='Chest width'; datalines; VAR1 CORR 1.0 .846 .805 .859 .473 .398 .301 .382 VAR2 CORR .846 1.0 .881 .826 .376 .326 .277 .415 VAR3 CORR .805 .881 1.0 .801 .380 .319 .237 .345 VAR4 CORR .859 .826 .801 1.0 .436 .329 .327 .365 VAR5 CORR .473 .376 .380 .436 1.0 .762 .730 .629 VAR6 CORR .398 .326 .319 .329 .762 1.0 .583 .577 VAR7 CORR .301 .277 .237 .327 .730 .583 1.0 .539 VAR8 CORR .382 .415 .345 .365 .629 .577 .539 1.0 N 305 305 305 305 305 305 305 305 ; /*---------------------------------------------------------------*/ /*Principal factors using estimated PRIOR communalities. Commun- */ /*ities were estimated assuming the correlation matrix to be of */ /*rank 2. See Harmon, Table 5.4, p.81 */ /*---------------------------------------------------------------*/ PROC FACTOR METHOD=PRIN NFACT=2 OUTSTAT=FACT /* Output data set */ ROUND; /* Round loading in printout */ PRIORS .854 .897 .833 .783 .870 .687 .521 .579; Var VAR1-VAR8; title2 'See pp 154-155 of Harman: Modern Factor Analysis, 2nd Ed.'; PROC FACTOR ROTATE=VARIMAX PLOT; title2 'Varimax rotation: Harman, page 309'; PROC FACTOR ROTATE=PROMAX PLOT; title2 'PROMAX ROTATION'; Data TARGET; /* Note: target read in as rows */ Input _NAME_ $ VAR1-VAR8; list;datalines; FACTOR1 1 1 1 1 0 0 0 0 FACTOR2 0 0 0 0 1 1 1 1 ; PROC FACTOR DATA=FACT ROTATE=PROCRUSTES TARGET=TARGET PLOT; title2 'PROCRUSTES ROTATION'; run;