10 COM N[64],T[64],G[64],J[64],N2,N6,N7,N8,A1,B1,C1,T1 20 COM R[64],W[64],D[10] 30 REM ***** AVR23+, 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 K[64] 70 FILES M,L,SX,G 80 FOR N=1 TO N2 90 MAT M=ZER 100 FOR I8=1 TO 10 110 S[I8]=F[I8]=P[I8]=0 120 NEXT I8 130 FOR I=1 TO 128 140 READ #1,I 150 READ #2,I 160 MAT PRINT #2;M 170 MAT PRINT #1;M 180 NEXT I 190 IF N[N]<2 THEN 220 200 PRINT "INSUFFICIENT DATA FOR VARIABLE";N 210 GOTO 2210 220 REM 230 FOR I=1 TO 10 240 S[I]=A[I]=B[I]=C[I]=0 250 FOR J=1 TO 10 260 E[I,J]=H[I,J]=I[I,J]=0 270 NEXT J 280 NEXT I 290 D[1]=T[N]-1 300 D[10]=T[N]-T1 310 FOR I=1 TO N6 320 FOR J=1 TO N7 330 FOR K=1 TO N8 340 R=(I-1)*N7*N8+(J-1)*N8+K 350 R=R*2-1 360 READ #3,R 370 MAT READ #3;J[N2] 380 READ #4,R 390 MAT READ #4;G[N2] 400 READ #1,(I-1)*10+J 410 MAT READ #1;M[10] 420 M[K]=G[N] 430 READ #1,(I-1)*10+J 440 MAT PRINT #1;M 450 S[2]=S[2]+J[N]^2 460 A[I]=A[I]+J[N] 470 B[J]=B[J]+J[N] 480 C[K]=C[K]+J[N] 490 E[I,J]=E[I,J]+J[N] 500 H[I,K]=H[I,K]+J[N] 510 I[J,K]=I[J,K]+J[N] 520 READ #2,(I-1)*10+J 530 MAT READ #2;L[10] 540 L[K]=J[N] 550 READ #2,(I-1)*10+J 560 MAT PRINT #2;L 570 NEXT K 580 NEXT J 590 NEXT I 600 FOR I=1 TO N6 610 S[3]=S[3]+A[I]^2/(B1*C1) 620 A[I]=A[I]/(B1*C1) 630 FOR J=1 TO N7 640 S[6]=S[6]+E[I,J]^2/C1 650 E[I,J]=E[I,J]/C1 660 NEXT J 670 FOR K=1 TO N8 680 S[7]=S[7]+H[I,K]^2/B1 690 H[I,K]=H[I,K]/B1 700 NEXT K 710 NEXT I 720 FOR J=1 TO N7 730 S[4]=S[4]+B[J]^2/(A1*C1) 740 B[J]=B[J]/(A1*C1) 750 FOR K=1 TO N8 760 S[8]=S[8]+I[J,K]^2/A1 770 I[J,K]=I[J,K]/A1 780 NEXT K 790 NEXT J 800 C2=0 810 FOR K=1 TO N8 820 C2=C2+C[K] 830 S[5]=S[5]+C[K]^2/(A1*B1) 840 C[K]=C[K]/(A1*B1) 850 NEXT K 860 C2=C2*C2/T1 870 FOR I=2 TO 9 880 S[I]=(S[I]-C2)*T1/R[N] 890 NEXT I 900 S[6]=S[6]-S[3]-S[4] 910 S[7]=S[7]-S[3]-S[5] 920 S[8]=S[8]-S[4]-S[5] 930 S[9]=S[2]-S[3]-S[4]-S[5]-S[6]-S[7]-S[8] 940 S[10]=W[N] 950 S[1]=S[2]+S[10] 960 FOR I=1 TO 10 970 IF D[I] <= 0 THEN 990 980 S[I]=S[I]/D[I] 990 NEXT I 1000 FOR I=3 TO 9 1010 F[I]=S[I]/S[10] 1020 Q1=D[I] 1030 Q2=D[10] 1040 Q3=F[I] 1050 GOSUB 2230 1060 P[I]=P 1070 NEXT I 1080 PRINT '10'13'10'13'10'13 1090 FOR I8=1 TO 10 1100 S[I8]=FNB(S[I8]) 1110 F[I8]=FNA(F[I8]) 1120 P[I8]=FNA(P[I8]) 1130 NEXT I8 1140 PRINT "ANALYSIS OF VARIABLE";N 1150 PRINT 1160 PRINT "SOURCE M.S. D.F. F-RATIO P" 1170 PRINT 1180 PRINT "TOTAL";TAB(13);S[1],D[1] 1190 PRINT "BETWEEN";TAB(13);S[2],D[2] 1200 PRINT " A";TAB(13);S[3],D[3],F[3],P[3] 1210 PRINT " B";TAB(13);S[4],D[4],F[4],P[4] 1220 IF N8 <= 1 THEN 1250 1230 PRINT " C";TAB(13);S[5],D[5],F[5],P[5] 1240 PRINT 1250 PRINT " AB";TAB(13);S[6],D[6],F[6],P[6] 1260 IF N8 <= 1 THEN 1300 1270 PRINT " AC";TAB(13);S[7],D[7],F[7],P[7] 1280 PRINT " BC";TAB(13);S[8],D[8],F[8],P[8] 1290 PRINT " ABC";TAB(13);S[9],D[9],F[9],P[9] 1300 PRINT "WITHIN";TAB(13),S[10],D[10] 1310 PRINT '10'13"MEANS FOR ALL EFFECTS."'10'13 1320 PRINT "A MAIN" 1330 PRINT 1340 FOR I1=1 TO N6 1350 PRINT FNA(A[I1]), 1360 NEXT I1 1370 PRINT '10'13'10'13 1380 PRINT "B MAIN" 1390 PRINT 1400 FOR I1=1 TO N7 1410 PRINT FNA(B[I1]), 1420 NEXT I1 1430 IF N8 <= 1 THEN 1490 1440 PRINT '10'13'10'13"C MAIN"'10'13 1450 FOR I1=1 TO N8 1460 PRINT FNA(C[I1]), 1470 NEXT I1 1480 PRINT '10'13'10'13 1490 PRINT '10'13'10'13'10'13"A BY B" 1500 FOR I1=1 TO N6 1510 PRINT 1520 PRINT "ROW #";I1 1530 FOR J1=1 TO N7 1540 PRINT FNA(E[I1,J1]), 1550 NEXT J1 1560 PRINT 1570 NEXT I1 1580 IF N8=1 THEN 1990 1590 PRINT '10'13'10'13"A BY C" 1600 PRINT 1610 FOR I1=1 TO N6 1620 PRINT "ROW #";I1 1630 PRINT 1640 FOR J1=1 TO N8 1650 PRINT FNA(H[I1,J1]), 1660 NEXT J1 1670 PRINT 1680 NEXT I1 1690 PRINT '10'13'10'13'10'13"B BY C" 1700 PRINT 1710 FOR I1=1 TO N7 1720 PRINT "ROW #"I1 1730 FOR J1=1 TO N8 1740 PRINT FNA(I[I1,J1]), 1750 NEXT J1 1760 PRINT 1770 NEXT I1 1780 PRINT '10'13'10'13 1790 PRINT "CELL MEANS BLOCKS = C LEVELS." 1800 PRINT '10'13'10'13 1810 FOR K=1 TO N8 1820 FOR I=1 TO N6 1830 FOR J=1 TO N7 1840 READ #2,(I-1)*10+J 1850 MAT READ #2;M[10] 1860 E[I,J]=M[K] 1870 NEXT J 1880 NEXT I 1890 PRINT "AB"'10'13 1900 FOR I1=1 TO N6 1910 PRINT "ROW #";I1 1920 FOR J1=1 TO N7 1930 PRINT FNA(E[I1,J1]), 1940 NEXT J1 1950 PRINT 1960 NEXT I1 1970 PRINT '10'13'10'13 1980 NEXT K 1990 IF N[N]=0 THEN 2210 2000 PRINT '10'13"SUBJECTS PER CELL. BLOCKS =C LEVELS." 2010 PRINT 2020 FOR K=1 TO N8 2030 FOR I=1 TO N6 2040 FOR J=1 TO N7 2050 READ #1,(I-1)*10+J 2060 MAT READ #1;L[10] 2070 E[I,J]=L[K] 2080 NEXT J 2090 NEXT I 2100 PRINT " AB" 2110 PRINT 2120 FOR I1=1 TO N6 2130 PRINT " ROW # ";I1 2140 FOR J1=1 TO N7 2150 PRINT FNA(E[I1,J1]), 2160 NEXT J1 2170 PRINT 2180 NEXT I1 2190 PRINT '10'13'10'13 2200 NEXT K 2210 NEXT N 2220 STOP 2230 REM SUB PBRF 2240 P=1 2250 IF Q1*Q2*Q3=0 THEN 2420 2260 IF Q3<1 THEN 2310 2270 A9=Q1 2280 B9=Q2 2290 C9=Q3 2300 GOTO 2340 2310 A9=Q2 2320 B9=Q1 2330 C9=1/Q3 2340 A2=2/(9*A9) 2350 B2=2/(9*B9) 2360 Z=ABS(((1-B2)*C9^.333333-1+A2)/SQR(B2*C9^.666667+A2)) 2370 IF B9 >= 4 THEN 2390 2380 Z=Z*(1+.08*Z^4/B9^3) 2390 P=.5/(1+Z*(.196854+Z*(.115194+Z*(.000344+Z*.019527))))^4 2400 IF Q3 >= 1 THEN 2420 2410 P=1-P 2420 RETURN 2430 REM ROUND OFF ROUTINES 2440 DEF FNA(X)=.0001*INT(10000*X+.5) 2450 DEF FNB(X)=.001*INT(1000*X+.5) 2460 END