Trailing-Edge
-
PDP-10 Archives
-
decuslib20-01
-
decus/20-0020/stat16.sta
There are 2 other files named stat16.sta in the archive. Click here to see a list.
100' NAME--STAT16
110'
120' DESCRIPTION--COMPUTES THE ANALYSIS OF VARIANCE TABLE FOR
130' A SIMPLE GRAECO-LATIN SQUARE DESIGN.
140'
150' SOURCE--UNKNOWN
160'
170' INSTRUCTIONS--PLACE DATA IN LINE 1100 AND FOLLOWING.
180' FIRST DATA IS N, THE NUMBER OF TREATMENTS. THEN
190' THE MATRIX GIVING THE LATIN TREATMENT ASSIGNMENTS
200' (NUMBERED FROM 1 TO N ONLY) IS ENTERED. FOLLOWING
210' THAT THE MATRIX GIVING THE GRAECO TREATMENTS IS ENTERED.
220' FINALLY THE MATRIX OF DATA IS ENTERED. ALL MATRICES SHOULD
230' BE ENTERED BY ROWS. IF N IS GREATER THAN 10 A DIM
240' STATEMENT SHOULD BE ADDED TO THE PROGRAM.
250' SAMPLE DATA ARE IN LINES 1100 THROUGH 1160.
260'
270'
280' * * * * * * MAIN PROGRAM * * * * * * * * *
290'
300 READ N
310 MAT READ M(N,N)
320 MAT READ N(N,N)
330 FOR I = 1 TO N
340 FOR J = 1 TO N
350 READ X
360 LET R(I) = R(I) + X
370 LET C(J) = C(J) + X
380 LET T(M(I,J)) = T(M(I,J)) + X
390 LET G(N(I,J)) = G(N(I,J)) + X
400 LET S = S + X
410 LET S0 = S0 + X*X
420 NEXT J
430 NEXT I
440 FOR I = 1 TO N
450 LET S4 = S4 + R(I)^2
460 LET S5 = S5 + C(I)^2
470 LET S6 = S6 + T(I)^2
480 LET S3 = S3 + G(I)^2
490 NEXT I
500 LET C = S*S/N/N
510 LET S4 = S4/N - C
520 LET S5 = S5 / N - C
530 LET S6 = S6 /N - C
540 LET S3 = S3/N - C
550 LET D1 = N - 1
560 LET D2 = D1 *(N - 3)
570 LET S7 = S0 - C - S4 - S5 - S6
580 LET S7 = S7 - S3
590 PRINT "ITEM ", "SUM-SQR ", "DEG. FREE. ", "MEAN-SQR ", "F-RATIO"
600 PRINT "---- ", "------- ", "---------- ", "-------- ", "-------"
610 LET S8 = S7/D2
620 PRINT "ROWS ", S4, D1, S4/D1, S4/D1/S8
630 PRINT "COLS ", S5, D1, S5/D1, S5/D1/S8
640 PRINT "TREAT L ", S6, D1, S6/D1, S6/D1/S8
650 PRINT "TREAT G ", S3, D1, S3/D1, S3/D1/S8
660 PRINT "ERROR ", S7, D2, S8
670 PRINT
680 PRINT
690 LET M=D1
700 LET N=D2
710 LET G=S4/D1/S8
720 GOSUB 800
730 LET G=S5/D1/S8
740 GOSUB 800
750 LET G=S6/D1/S8
760 GOSUB 800
770 LET G=S3/D1/S8
780 GOSUB 800
790 STOP
800 REM THE SUBROUTINE FOR COMPUTATION OF THE F PROBABILITIES WAS
810 REM PROGRAMMED BY VICTOR E. MCGEE, PSYCHOLOGY DEPARTMENT, 646-2771
820 LET P=1
830 IF G<1 THEN 880
840 LET A=M
850 LET B=N
860 LET F=G
870 GO TO 910
880 LET A=N
890 LET B=M
900 LET F=1/G
910 LET A1=2/(9*A)
920 LET B1=2/(9*B)
930 LET Z=ABS((1-B1)*F^(.333333)-1+A1)
940 LET Z=Z/SQR(B1*F^(.666667)+A1)
950 IF B<4 THEN 990
960 LET P=(1+Z*(.196854+Z*(.115194+Z*(.000344+Z*.019527))))^4
970 LET P=.5/P
980 GO TO 1020
990 LET Z=Z*(1+.08*Z^4/B^3)
1000 GO TO 960
1010 IF G<1 THEN 1030
1020 GO TO 1050
1030 LET P=1-P
1040 GO TO 1050
1050 PRINT
1060 LET P = INT(100000*P)/100000
1070 PRINT "EXACT PROB. OF F=";G;"WITH ( "M;", "N;" ) D.F. IS ";P
1080 PRINT
1090 RETURN
1100 DATA 4
1110 DATA 1,2,3,4,2,1,4,3,3,4,1,2,4,3,2,1
1120 DATA 4,3,2,1,2,1,4,3,1,2,3,4,3,4,1,2
1130 DATA 24, 47, 35, 42
1140 DATA 47, 85, 23, 47
1150 DATA 65, 49, 23, 62
1160 DATA 12, 14, 19, 23
1170END