1  REM  ***  HP TIME-SHARED BASIC PROGRAM LIBRARY  ***********************
2  REM
3  REM          ANVAR4:  36173  (A410)  REV A -- 9/71
4  REM          ANALYSIS OF VARIANCE FOR A TWO-WAY  EXPERIMENT
5  REM          WITH REPEATED OBSERVATIONS
6  REM
7  REM  ***  CONTRIBUTED PROGRAM  ***************************************
9000  DIM X[20,40],Y[20,20],D[20],E[20]
9001  READ R,C,P
9002  LET T2=T3=0
9003  FOR I=1 TO R
9004  LET T4=0
9005  FOR J=1 TO C
9006  LET T1=0
9007  FOR K=1 TO P
9008  READ X[J,K]
9009  T1=T1+X[J,K]
9010  T2=T2+X[J,K]^2
9011  NEXT K
9012  Y[I,J]=T1
9013  T3=T3+T1
9014  T4=T4+T1
9015  NEXT J
9016  E[I]=T4
9017  NEXT I
9018  T6=0
9019  FOR J=1 TO C
9020  T5=0
9021  FOR I=1 TO R
9022  T5=T5+Y[I,J]
9023  T6=T6+Y[I,J]^2
9024  NEXT I
9025  D[J]=T5
9026  NEXT J
9027  H=T3^2/(R*C*P)
9028  S1=T2-H
9029  S2=(T6/P)-H
9030  S3=S1-S2
9031  N1=(R*C*P)-1
9032  N2=(R*C)-1
9033  N3=N1-N2
9034  M2=S2/N2
9035  M3=S3/N3
9036  F2=M2/M3
9037  PRINT TAB(30);"ANOVA TABLE I"
9038  PRINT "SOURCE","SUM SQ","DEG. FREE.","MEAN SQ","F RATIO"
9039  PRINT "MEANS",S2,N2,M2,F2
9040  PRINT "WITHIN",S3,N3,M3
9041  PRINT "TOTAL",S1,N1;'10
9042  R3=P
9043  F=F2
9044  M=N2
9045  N=N3
9046  GOSUB 9109
9047  T7=T8=0
9048  FOR I=1 TO R
9049  T7=T7+E[I]^2
9050  NEXT I
9051  FOR J=1 TO C
9052  T8=T8+D[J]^2
9053  NEXT J
9054  S4=(T7/(R3*C))-H
9055  S5=(T8/(R3*R))-H
9056  N4=R-1
9057  N5=C-1
9058  S6=S2-S4-S5
9059  N6=N2-N4-N5
9060  M4=S4/N4
9061  M5=S5/N5
9062  M6=S6/N6
9063  F4=M4/M3
9064  F5=M5/M3
9065  F6=M6/M3
9066  PRINT 
9067  PRINT TAB(29);"ANOVA TABLE II"
9068  PRINT "SOURCE","SUM SQ","DEG. FREE.","MEAN SQ","F RATIO"
9069  PRINT "ROWS",S4,N4,M4,F4
9070  PRINT "COLS",S5,N5,M5,F5
9071  PRINT "INTER",S6,N6,M6,F6
9072  PRINT "SUBTOT",S2,N2
9073  PRINT "WITHIN",S3,N3,M3
9074  PRINT "TOTAL",S1,N1
9075  F=F4
9076  M=N4
9077  GOSUB 9109
9078  F=F5
9079  M=N5
9080  GOSUB 9109
9081  F=F6
9082  M=N6
9083  GOSUB 9109
9084  PRINT "IF THE INTERACTION EFFECT IS NOT SIGNIFICANT AND"
9085  PRINT "IF YOU WISH TO POOL INTERACTION AND WITHIN SUMS OF"
9086  PRINT "SQUARES TO FORM RESIDUAL SUM OF SQUARES TYPE THE"
9087  PRINT "NUMBER 1 OTHERWISE TYPE NUMBER 0."
9088  INPUT Q
9089  IF Q<.5 THEN 9999
9090  S3=S3+S6
9091  N3=N3+N6
9092  M3=S3/N3
9093  F4=M4/M3
9094  F5=M5/M3
9095  PRINT TAB(28)"ANOVA TABLE III"
9096  PRINT "SOURCE","SUM SQ","DEG. FREE.","MEAN SQ","F RATIO"
9097  PRINT "ROWS",S4,N4,M4,F4
9098  PRINT "COLS",S5,N5,M5,F5
9099  PRINT "RESID",S3,N3,M3
9100  PRINT "TOTAL",S1,N1
9101  F=F4
9102  M=N4
9103  N=N3
9104  GOSUB 9109
9105  F=F5
9106  M=N5
9107  GOSUB 9109
9108  STOP 
9109  A=2*INT(M/2)-M+2
9110  B=2*INT(N/2)-N+2
9111  W=F*M/N
9112  Z=1/(1+W)
9113  IF A#1 THEN 9123
9114  IF B#1 THEN 9120
9115  P=SQR(W)
9116  K=.31831
9117  D=K*Z/P
9118  P=2*K*ATN(P)
9119  GOTO 9130
9120  P=SQR(W*Z)
9121  D=.5*P*Z/W
9122  GOTO 9130
9123  IF B#1 THEN 9128
9124  P=SQR(Z)
9125  D=.5*Z*P
9126  P=1-P
9127  GOTO 9130
9128  D=Z^2
9129  P=W*Z
9130  K=2*W/Z
9131  FOR J=B+2 TO N STEP 2
9132  D=(1+A/(J-2))*D*Z
9133  IF A=1 THEN 9136
9134  P=(P+W)*Z
9135  GOTO 9137
9136  P=P+D*K/(J-1)
9137  NEXT J
9138  K=W*Z
9139  Z=2/Z
9140  B=N-2
9141  FOR I=A+2 TO M STEP 2
9142  J=I+B
9143  D=K*D*J/(I-2)
9144  P=P-Z*D/J
9145  NEXT I
9146  P=(P>1) MAX (0<P AND P<1)*P
9147  P=1-P
9148  IF P=1 AND F>1 THEN 9150
9149  IF P >= .001 THEN 9151
9150  P=0
9151  PRINT 
9152  PRINT "PROBABILITY OF F>=";F;"WITH";M;"AND";N;"D.F. IS";P
9153  PRINT 
9154  RETURN 
9900  DATA 2,3,3
9901  DATA 4,7,5,2,3,2,5,6,4
9902  DATA 9,8,8,8,7,5,10,8,7
9999  END 
