10  COM T[64],Q[64],M2,T1,N4
20  COM N2,N3,G[10],V[64],X[64],Y[64]
30  REM ***** DISC2  VERSION 1, AUGUST 5, 1971      R.J.M. TAYLOR
40  REM ***** TRANSLATED FROM 'FORTRAN PROGRAMMING FOR THE BEHAVIORAL
50  REM ***** SCIENCES ' BY D.J. VELDMAN
60  DIM R[64],S[64],H[64],U[64],A[64],W[64],C[64]
70  FILES W,A,C,S
80  FOR J=1 TO N3
90  E=1/SQR(V[J])
100  FOR I=1 TO N2
110  READ #2,I*2-1
120  MAT  READ #2;A[N2]
130  A[J]=A[J]*E
140  READ #2,I*2-1
150  MAT  PRINT #2;A
160  NEXT I
170  NEXT J
180  FOR I=1 TO N2
190  READ #3,I*2-1
200  MAT  READ #3;C[N2]
210  X[I]=SQR(C[I])
220  NEXT I
230  K1=3
240  K2=2
250  K3=1
260  MAT U=ZER
270  FOR I=1 TO N2
280  READ #K3,I*2-1
290  MAT  PRINT #K3;U
300  NEXT I
310  FOR I=1 TO N2
320  READ #K1,I*2-1
330  MAT  READ #K1;R[N2]
340  FOR J=1 TO N2
350  FOR K=1 TO N2
360  READ #K2,K*2-1
370  MAT  READ #K2;S[N2]
380  H[K]=S[J]
390  NEXT K
400  READ #K3,I*2-1
410  MAT  READ #K3;U[N2]
420  S=0
430  FOR I2=1 TO N2
440  S=S+R[I2]*H[I2]
450  NEXT I2
460  U[J]=S
470  READ #K3,I*2-1
480  MAT  PRINT #K3;U
490  NEXT J
500  NEXT I
510  FOR I=1 TO N3
520  S=0
530  FOR I1=1 TO N2
540  READ #2,I1*2-1
550  MAT  READ #2;A[N2]
560  READ #1,I1*2-1
570  MAT  READ #1;W[N2]
580  S=S+A[I]*W[I]
590  NEXT I1
600  Y[I]=SQR(S)
610  NEXT I
620  FOR I=1 TO N2
630  FOR J=1 TO N3
640  READ #1,I*2-1
650  MAT  READ #1;W[N2]
660  READ #3,I*2-1
670  MAT  READ #3;C[N2]
680  C[J]=W[J]/(X[I]*Y[J])
690  READ #3,I*2-1
700  MAT  PRINT #3;C
710  NEXT J
720  NEXT I
730  S=0
740  FOR I1=1 TO N3
750  S=S+V[I1]
760  NEXT I1
770  T3=S
780  X=1
790  FOR I=1 TO N3
800  X[I]=V[I]/T3*100
810  X=X*(1/(1+V[I]))
820  NEXT I
830  V1=N2
840  G1=N4
850  G2=G1-1
860  S2=SQR((V1^2*G2^2-4)/(V1^2+G2^2-5))
870  Y2=X^(1/S2)
880  F1=V1*G2
890  F2=((T1-1)-(V1+G1)/2)*S2-(V1*G2-2)/2
900  F=(F2*(1-Y2))/(Y2*F1)
910  Q1=F1
920  Q2=F2
930  Q3=F
940  GOSUB 1970
950  PRINT "WILKS LAMBDA =".001*INT(1000*X+.5)
960  PRINT 
970  PRINT "D.F. = "F1" AND "F2
980  PRINT 
990  PRINT "F-RATIO =".001*INT(1000*F+.5)
1000  PRINT 
1010  PRINT "P =";.0001*INT(10000*P+.5)
1020  PRINT 
1030  D1=V1+G1
1040  C2=T1-D1/2
1050  PRINT "ROOT          % VARIANCE      CHI-SQUARE       D.F.          P"
1060  PRINT 
1070  FOR I=1 TO N3
1080  C1=C2*LOG(1+V[I])
1090  D1=D1-2
1100  Q1=D1
1110  Q2=1000
1120  Q3=C1/D1
1130  GOSUB 1970
1140  PRINT I,.01*INT(X[I]*100+.5),.001*INT(C1*1000+.5),D1,
1150  PRINT .0001*INT(P*10000+.5)
1160  NEXT I
1170  PRINT '10'13
1180  FOR I=1 TO N2
1190  T[I]=T[I]*T1
1200  FOR J=1 TO N4
1210  READ #4,I*2-1
1220  MAT  READ #4;S[M2]
1230  S[J]=S[J]/G[J]
1240  READ #4,I*2-1
1250  MAT  PRINT #4;S
1260  NEXT J
1270  NEXT I
1280  FOR I=1 TO N2
1290  READ #1,I*2-1
1300  MAT  READ #1;W[N2]
1310  FOR J=1 TO N2
1320  W[J]=0
1330  FOR I1=1 TO N2
1340  READ #4,I1*2-1
1350  MAT  READ #4;S[M2]
1360  READ #2,I1*2-1
1370  MAT  READ #2;A[N2]
1380  W[J]=W[J]+S[I]*A[J]
1390  NEXT I1
1400  NEXT J
1410  READ #1,I*2-1
1420  MAT  PRINT #1;W
1430  NEXT I
1440  PRINT "CENT."
1450  FOR I=1 TO N4
1460  READ #1,I*2-1
1470  MAT  READ #1;W[N2]
1480  FOR J=1 TO N3
1490  PRINT .0001*INT(W[J]*10000+.5),
1500  NEXT J
1510  PRINT '10'13
1520  NEXT I
1530  PRINT '10'13'10'13'10'13
1540  PRINT "COREL"'10'13"       "
1550  PRINT '10'13
1560  FOR I=1 TO N2
1570  READ #3,I*2-1
1580  MAT  READ #3;C[N3]
1590  FOR J=1 TO N3
1600  PRINT .0001*INT(C[J]*10000+.5),
1610  NEXT J
1620  PRINT '10'13'10'13
1630  NEXT I
1640  W=T1-G1
1650  PRINT "UNIVARIATE F-TESTS D.R.B.= "G2"DFW= "W
1660  PRINT '10'13
1670  PRINT "VARIABLE      F-RATIO            P"
1680  FOR I=1 TO N2
1690  B=0
1700  FOR J=1 TO N4
1710  READ #4,I*2-1
1720  MAT  READ #4;S[N4]
1730  B=B+S[J]^2*G[J]
1740  NEXT J
1750  C2=T[I]^2/T1
1760  F=((B-C2)*W)/((Q[I]-B)*G2)
1770  Q1=G2
1780  Q2=W
1790  Q3=F
1800  GOSUB 1970
1810  PRINT I,.0001*INT(F*10000+.5),.0001*INT(P*10000+.5)
1820  NEXT I
1830  PRINT '10'13'10'13"MEAN"'10'13
1840  FOR M9=1 TO N4
1850  PRINT M9,
1860  NEXT M9
1870  PRINT '10'13
1880  FOR I=1 TO N2
1890  READ #4,I*2-1
1900  MAT  READ #4;S[N4]
1910  FOR J=1 TO N4
1920  PRINT S[J],
1930  NEXT J
1940  PRINT 
1950  NEXT I
1960  STOP 
1970  REM SUB PBRF
1980  P=1
1990  IF Q1*Q2*Q3=0 THEN 2160
2000  IF Q3<1 THEN 2050
2010  A9=Q1
2020  B9=Q2
2030  C9=Q3
2040  GOTO 2080
2050  A9=Q2
2060  B9=Q1
2070  C9=1/Q3
2080  A2=2/(9*A9)
2090  B2=2/(9*B9)
2100  Z=ABS(((1-B2)*C9^.333333-1+A2)/SQR(B2*C9^.666667+A2))
2110  IF B9 >= 4 THEN 2130
2120  Z=Z*(1+.08*Z^4/B9^3)
2130  P=.5/(1+Z*(.196854+Z*(.115194+Z*(.000344+Z*.019527))))^4
2140  IF Q3 >= 1 THEN 2160
2150  P=1-P
2160  RETURN 
2170  END 
