Trailing-Edge
-
PDP-10 Archives
-
decus_20tap2_198111
-
decus/20-0026/facto.smp
There are 2 other files named facto.smp in the archive. Click here to see a list.
C FCTO 10
C ................................................................. FCTO 20
C FCTO 30
C SAMPLE MAIN PROGRAM FOR FACTOR ANALYSIS - FACTO FCTO 40
C FCTO 50
C PURPOSE FCTO 60
C (1) READ THE PROBLEM PARAMETER CARD, (2) CALL FIVE SUBROU- FCTO 70
C TINES TO PERFORM A PRINCIPAL COMPONENT SOLUTION AND THE FCTO 80
C VARIMAX ROTATION OF A FACTOR MATRIX, AND (3) PRINT THE FCTO 90
C RESULTS. FCTO 100
C FCTO 110
C REMARKS FCTO 120
C NONE FCTO 130
C FCTO 140
C SUBROUTINES AND FUNCTION SUBPROGRAMS REQUIRED FCTO 150
C CORRE (WHICH, IN TURN, CALLS THE SUBROUTINE NAMED DATA.) FCTO 160
C EIGEN FCTO 170
C TRACE FCTO 180
C LOAD FCTO 190
C VARMX FCTO 200
C FCTO 210
C METHOD FCTO 220
C REFER TO 'BMD COMPUTER PROGRAMS MANUAL', EDITED BY W. J. FCTO 230
C DIXON, UCLA, 1964. FCTO 240
C FCTO 250
C ..................................................................FCTO 260
C FCTO 270
C THE FOLLOWING DIMENSIONS MUST BE GREATER THAN OR EQUAL TO THE FCTO 280
C NUMBER OF VARIABLES, M.. FCTO 290
C FCTO 300
DIMENSION B(35),D(35),S(35),T(35),XBAR(35) FCTO 310
C FCTO 320
C THE FOLLOWING DIMENSION MUST BE GREATER THAN OR EQUAL TO THE FCTO 330
C PRODUCT OF M*M.. FCTO 340
C FCTO 350
DIMENSION V(1225) FCTO 360
C FCTO 370
C THE FOLLOWING DIMENSION MUST BE GREATER THAN OR EQUAL TO FCTO 380
C (M+1)*M/2.. FCTO 390
C FCTO 400
DIMENSION R(630) FCTO 410
C FCTO 420
C THE FOLLOWING DIMENSION MUST BE GREATER THAN OR EQUAL TO 51.. FCTO 430
C FCTO 440
DIMENSION TV(51) FCTO 450
C FCTO 460
C ..................................................................FCTO 470
C FCTO 480
C IF A DOUBLE PRECISION VERSION OF THIS ROUTINE IS DESIRED, THE FCTO 490
C C IN COLUMN 1 SHOULD BE REMOVED FROM THE DOUBLE PRECISION FCTO 500
C STATEMENT WHICH FOLLOWS. FCTO 510
C FCTO 520
C DOUBLE PRECISION XBAR,S,V,R,D,B,T,TV FCTO 530
C FCTO 540
C THE C MUST ALSO BE REMOVED FROM DOUBLE PRECISION STATEMENTS FCTO 550
C APPEARING IN OTHER ROUTINES USED IN CONJUNCTION WITH THIS FCTO 560
C ROUTINE. FCTO 570
C FCTO 580
C ...............................................................FCTO 590
C FCTO 600
1 FORMAT(21H1FACTOR ANALYSIS.....A4,A2//3X,12HNO. OF CASES,4X,I6/3X,FCTO 610
116HNO. OF VARIABLES,I6/) FCTO 620
2 FORMAT(6H0MEANS/(8F15.5)) FCTO 630
3 FORMAT(20H0STANDARD DEVIATIONS/(8F15.5)) FCTO 640
4 FORMAT(25H0CORRELATION COEFFICIENTS) FCTO 650
5 FORMAT(4H0ROWI3/(10F12.5)) FCTO 660
6 FORMAT(1H0/12H EIGENVALUES/(10F12.5)) FCTO 670
7 FORMAT(37H0CUMULATIVE PERCENTAGE OF EIGENVALUES/(10F12.5)) FCTO 680
8 FORMAT(1H0/13H EIGENVECTORS) FCTO 690
9 FORMAT(7H0VECTORI3/(10F12.5)) FCTO 700
10 FORMAT(1H0/16H FACTOR MATRIX (,I3,9H FACTORS)) FCTO 710
11 FORMAT(9H0VARIABLEI3/(10F12.5)) FCTO 720
12 FORMAT(1H0/10H ITERATION,7X,9HVARIANCES/8H CYCLE) FCTO 730
13 FORMAT(I6,F20.6) FCTO 740
14 FORMAT(1H0/24H ROTATED FACTOR MATRIX (I3,9H FACTORS)) FCTO 750
15 FORMAT(9H0VARIABLEI3/(10F12.5)) FCTO 760
16 FORMAT(1H0/23H CHECK ON COMMUNALITIES//9H VARIABLE,7X,8HORIGINAL, FCTO 770
112X,5HFINAL,10X,10HDIFFERENCE) FCTO 780
17 FORMAT(I6,3F18.5) FCTO 790
18 FORMAT(A4,A2,I5,I2,F6.0) FCTO 800
19 FORMAT(5H0ONLY,I2,30H FACTOR RETAINED. NO ROTATION) FCTO 810
C FCTO 820
C ..................................................................FCTO 830
C FCTO 840
C READ PROBLEM PARAMETER CARD FCTO 850
C FCTO 860
100 READ (5,18,END=999) PR,PR1,N,M,CON FCTO 870
C PR.........PROBLEM NUMBER (MAY BE ALPHAMERIC) FCTO 880
C PR1........PROBLEM NUMBER (CONTINUED) FCTO 890
C N..........NUMBER OF CASES FCTO 900
C M..........NUMBER OF VARIABLES FCTO 910
C CON........CONSTANT USED TO DECIDE HOW MANY EIGENVALUES FCTO 920
C TO RETAIN FCTO 930
C FCTO 940
WRITE (6,1) PR,PR1,N,M FCTO 950
C FCTO 960
IO=0 FCTO 970
X=0.0 FCTO 980
C FCTO 990
CALL CORRE (N,M,IO,X,XBAR,S,V,R,D,B,T) FCTO1000
C FCTO1010
C PRINT MEANS FCTO1020
C FCTO1030
WRITE (6,2) (XBAR(J),J=1,M) FCTO1040
C FCTO1050
C PRINT STANDARD DEVIATIONS FCTO1060
C FCTO1070
WRITE (6,3) (S(J),J=1,M) FCTO1080
C FCTO1090
C PRINT CORRELATION COEFFICIENTS FCTO1100
C FCTO1110
WRITE (6,4) FCTO1120
DO 120 I=1,M FCTO1130
DO 110 J=1,M FCTO1140
IF(I-J) 102, 104, 104 FCTO1150
102 L=I+(J*J-J)/2 FCTO1160
GO TO 110 FCTO1170
104 L=J+(I*I-I)/2 FCTO1180
110 D(J)=R(L) FCTO1190
120 WRITE (6,5) I,(D(J),J=1,M) FCTO1200
C FCTO1210
MV=0 FCTO1220
CALL EIGEN (R,V,M,MV) FCTO1230
C FCTO1240
CALL TRACE (M,R,CON,K,D) FCTO1250
C FCTO1260
C PRINT EIGENVALUES FCTO1270
C FCTO1280
DO 130 I=1,K FCTO1290
L=I+(I*I-I)/2 FCTO1300
130 S(I)=R(L) FCTO1310
WRITE (6,6) (S(J),J=1,K) FCTO1320
C FCTO1330
C PRINT CUMULATIVE PERCENTAGE OF EIGENVALUES FCTO1340
C FCTO1350
WRITE (6,7) (D(J),J=1,K) FCTO1360
C FCTO1370
C PRINT EIGENVECTORS FCTO1380
C FCTO1390
WRITE (6,8) FCTO1400
L=0 FCTO1410
DO 150 J=1,K FCTO1420
DO 140 I=1,M FCTO1430
L=L+1 FCTO1440
140 D(I)=V(L) FCTO1450
150 WRITE (6,9) J,(D(I),I=1,M) FCTO1460
C FCTO1470
CALL LOAD (M,K,R,V) FCTO1480
C FCTO1490
C PRINT FACTOR MATRIX FCTO1500
C FCTO1510
WRITE (6,10) K FCTO1520
DO 180 I=1,M FCTO1530
DO 170 J=1,K FCTO1540
L=M*(J-1)+I FCTO1550
170 D(J)=V(L) FCTO1560
180 WRITE (6,11) I,(D(J),J=1,K) FCTO1570
C FCTO1580
IF(K-1) 185, 185, 188 FCTO1590
185 WRITE (6,19) K FCTO1600
GO TO 100 FCTO1610
C FCTO1620
188 CALL VARMX (M,K,V,NC,TV,B,T,D,IER) FCTO1630
IF (IER .EQ. 1) WRITE (6,998)
998 FORMAT(/' **** WARNING ****'/
1 ' CONVERGENCE NOT REACHED AFTER 50 ITERATIONS'/)
C FCTO1640
C PRINT VARIANCES FCTO1650
C FCTO1660
NV=NC+1 FCTO1670
WRITE (6,12) FCTO1680
DO 190 I=1,NV FCTO1690
NC=I-1 FCTO1700
190 WRITE (6,13) NC,TV(I) FCTO1710
C FCTO1720
C PRINT ROTATED FACTOR MATRIX FCTO1730
C FCTO1740
WRITE (6,14) K FCTO1750
DO 220 I=1,M FCTO1760
DO 210 J=1,K FCTO1770
L=M*(J-1)+I FCTO1780
210 S(J)=V(L) FCTO1790
220 WRITE (6,15) I,(S(J),J=1,K) FCTO1800
C FCTO1810
C PRINT COMMUNALITIES FCTO1820
C FCTO1830
WRITE (6,16) FCTO1840
DO 230 I=1,M FCTO1850
230 WRITE (6,17) I,B(I),T(I),D(I) FCTO1860
GO TO 100 FCTO1870
999 STOP
END FCTO1880