1 ! PROGRAM FQLD, VERSION 1A (31-AUG-73) ! 2 ! PROGRAM FQLD IS A PROGRAM IN THE FACTOR ANALYSIS CHAIN. ! IT IS ONE OF THE SEVERAL PROGRAMS AND FILES WHICH COMPOSE COSAP, ! LAWRENCE UNIVERSITY'S CONVERSATIONALLY ORIENTED STATISTICAL 3 ! ANALYSIS PACKAAGE. COSAP IS DISTRIBUTED FOR EDUCATIONAL USE, ON ! THE CONDITION THAT IT NOT BE SOLD, RENTED OR LEASED FOR PROFIT. ! 4 ! IF YOU DESIRE FURTHER INFORMATION ABOUT COSAP, PLEASE CONTACT THE ! LAWRENCE UNIVERSITY COMPUTER CENTER, APPLETON, WISCONSIN, 54911. ! 10 DIM N%(30) ! FUNCTION TO CREATE FILE EXT. BASED ON JOB# 25 DEF FNZ$ : IF N%(0)=30% THEN 40 ELSE CHANGE SYS(CHR$(6)+CHR$(9)+CHR$(0)) TO N% : Z8$=".J"+RIGHT(NUM$(N%(1)/2%),2%) 40 FNZ$=Z8$! EXTENSION IS".J"+JOB # 55 FNEND 70 !****FQLD 85 OPEN "DAT1"+FNZ$ AS FILE 1 100 OPEN "DISC2"+FNZ$ AS FILE 2 115 OPEN "DISC1"+FNZ$ AS FILE 3 130 OPEN "TMP"+FNZ$ AS FILE 4 135 OPEN L1$(1%) AS FILE 5% 145 DIM#1,X(200,50),H$(30)=2,C(50,50),M4(0),M5(0),M9(0),N(0),J9(0), I4(0),I7(0),N6(0),X2(50),L1$(8)=32% 160 DIM#2,N2(50),M2(50),T9(0),L6(0),G9(0),L1(0) 175 DIM#3,A(50,50),X3(50,50),F9(50),S(50) 190 DIM#4,R(50,50),B(50,50) 195 DIM #5%,N$(50%)=8% 205 DEF FNR(Q):INPUT Z$:Q=INSTR(1,Z$,"SOS"):IF Q>0 THEN 235 220 Q=VAL(Z$):GOTO 250 235 Q=808 250 FNR=Q:FNEND 255 S6=M9(0) : L6=L6(0) 265 IF I4(0)<0 THEN 910 280 PRINT:PRINT"EIGENVALUES":S$=" FQLD 0325":K$=SYS(CHR$(8)+S$) 295 CLOSE 1,2,3,4 310 CHAIN "FQRT" 325 OPEN "DAT1"+FNZ$ AS FILE1:OPEN "DISC2"+FNZ$ ASFILE2 340 OPEN "DISC1"+FNZ$ ASFILE3 355 OPEN "TMP"+FNZ$ ASFILE4:L6=L6(0) 360 OPEN L1$(1%) FOR INPUT AS FILE 5% 370 FOR I=1 TO L6:IF F9(I)>=-9.999 THEN 400 385 M2(I)=-9.999:GOTO 415 400 M2(I)=F9(I) 415 NEXT I 430 PRINTUSING"###.###",M2(I);FOR I=1 TO L6 445 PRINT 460 K8,S2=0:FOR I=1 TO L6:IF M2(I)<0 THEN 490 475 S2=S2+M2(I):K8=K8+1 490 M2(I)=S2/L6 505 NEXT I 520 PRINT:PRINT"CUMULATIVE PROPORTIONS OF EIGEN VALUES" 535 PRINTUSING"###.###",M2(I);FOR I=1 TO L6:PRINT 550 PRINT:PRINT"HOW MANY FACTORS DO YOU WISH TO RETAIN";:S6=FNR(Q) 565 IF S6<>N6(0) THEN 685 580 PRINT:PRINT"LOOK AT THE EIGEN VALUES AND CUMULATIVE PROPORTIONS" 595 PRINT"AND DECIDE HOW MANY TO RETAIN. WHEN THE PRINCIPAL DIAGONAL" 610 PRINT"ELEMENT IS UNITY FOR COMMUNTALITY ESTIMATION A SUGGESTED" 625 PRINT"NUMBER IS EQUAL TO THE NUMBER OF EIGEN VALUES GREATER THAN 1." 640 PRINT"WHEN SQUARED MULTIPLE CORRELATION COEFFICIENTS ARE USED A" 655 PRINT"SUGGESTED NUMBER IS EQUAL TO THE NUMBER OF EIGENVALUES GREATER" 670 PRINT"THAN 0.":GOTO 550 685 IF K8>=S6 THEN 745 700 PRINT:PRINT"AMONG "S6" EIGENVALUES,THERE IS A MINUS VALUE.REDUCE" 715 PRINT"THE NUMBER TO LESS THAN OR EQUAL TO "K8". TRY AGAIN" 730 GOTO 550 745 IF S6>=2 THEN 790 760 PRINT:PRINT"THE NUMBER CANNOT BE LESS THAN 2. TRY AGAIN." 775 GOTO 550 790 PRINT:PRINT"EIGEN VECTORS":FOR J=1 TO S6 805 PRINT:PRINT"VECTOR "J 820 PRINTUSING"###.###",A(I,J);FOR I=1 TO L6:PRINT:NEXT J 835 FOR J=1 TO S6:S2=SQR(F9(J)) 850 FOR I=1 TO L6:A(I,J)=A(I,J)*S2:NEXT I:NEXT J 865 PRINT:PRINT"FACTOR MATRIX ("S6" FACTORS)" 880 FOR I=1 TO L6:L=N2(I):PRINT:PRINT"VARIABLE "N$(L) 895 PRINTUSING"###.###",A(I,J);FOR J=1 TO S6:PRINT:NEXT I 910 PRINT:PRINT"DO YOU WISH TO ROTATE ALL "S6" FACTORS";:INPUT N$ 925 IF N$="YES" THEN 1045 ELSE IF N$<>"SOS" THEN 955 940 PRINT:PRINT"ANSWER 'YES' IF YOU WISH TO ROTATE ALL FACTORS":GOTO 910 955 PRINT"THEN HOW MANY DO YOU WISH TO ROTATE(0 FOR NO ROTATION)"; 970 INPUT L 985 IF L=S6 THEN 1045 1000 IF L