File: ANOVA.FT of Tape: Various/ETH/eth11-2
(Source file text)
C RT-11 FORTRAN SCIENTIFIC SUBROUTINE PACKAGE C DEC-11-XXXXX-A-LA C C C C C C C C C C C COPYRIGHT (C) 1974 BY DIGITAL EQUIPMENT CORPORATION C MAYNARD, MASSACHUSETTS 01754 C C C C C C C C C C THE INFORMATION IN THIS DOCUMENT IS SUBJECT TO CHANGE C WITHOUT NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT C BY DIGITAL EQUIPMENT CORPORATION. DIGITAL EQUIPMENT C CORPORATION ASSUMES NO RESPONSIBILITY FOR ANY ERRORS C THAT MAY APPEAR IN THIS DOCUMENT. C C THE SOFTWARE DESCRIBED IN THIS DOCUMENT IS FURNISHED TO C THE PURCHASER UNDER A LICENSE FOR USE ON A SINGLE COMPUTER C SYSTEM AND CAN BE COPIED (WITH INCLUSION OF DIGITAL'S C COPYRIGHT NOTICE) ONLY FOR USE IN SUCH SYSTEM, EXCEPT AS C MAY OTHERWISE BE PROVIDED IN WRITING BY DIGITAL. C C DIGITAL EQUIPMENT CORPORATION ASSUMES NO RESPONSIBILITY C FOR THE USE OR RELIABILITY OF ITS SOFTWARE ON EQUIPMENT C THAT IS NOT SUPPLIED BY DIGITAL. C C C C C C C C C C C C C R. SHIELDS OCTOBER 1974 C ANOVA.FOR - SAMPLE PROGRAM FOR ANALYSIS OF VARIANCE C THE FOLLOWING DIMENSION MUST BE GREATER THAN OR EQUAL TO THE C CUMULATIVE PRODUCT OF EACH FACTOR LEVEL PLUS ONE (LEVEL(I)+1) C FOR I=1 TO K, WHERE K IS THE NUMBER OF FACTORS... DIMENSION X(1600) C THE FOLLOWING DIMENSIONS MUST BE GREATER THAN OR EQUAL TO 2 C TO THE K-TH POWER MINUS 1, ((2**K)-1) DIMENSION HEAD(6),LEVEL(6),ISTEP(6),KOUNT(6),LASTS(6) DIMENSION SUMSQ(63),NDF(63),SMEAN(63) C THE FOLLOWING DIMENSION IS USED TO PRINT FACTOR LABELS IN C ANALYSIS OF VARIANCE TABLE AND IS FIXED DIMENSION FMT(15) 1 FORMAT(A4,A2,I2,A4,3X,11(A1,I4)/(A1,I4,A1,I4,A1,I4,A1,I4,A1,I4)) 2 FORMAT(////26H ANALYSIS OF VARIANCE.....A4,A2//) 3 FORMAT(//18H LEVELS OF FACTORS/(3X,A1,7X,I4)) 4 FORMAT(////11H GRAND MEAN,F20.5////) 5 FORMAT(//10H SOURCE OF,18X,7HSUMS OF,10X,10HDEGREES OF,9X,4HMEAN 1/10H VARIATION,18X,7HSQUARES,11X,7HFREEDOM,10X,7HSQUARES/) 6 FORMAT(2X,15A1,F20.5,10X,I6,F20.5) 7 FORMAT(/6H TOTAL,10X,F20.5,10X,I6) 8 FORMAT(12F6.0) C C INPUT CHANNEL = IN, OUTPUT CHANNEL = IOUT IN=1 IOUT=2 100 READ(IN,1)PR,PR1,K,BLANK,(HEAD(I),LEVEL(I),I=1,K) C PR=PROBLEM NUMBER, MAY BE ALPHAMERIC C PR1=PROBLEM NUMBER CONTINUED C K=NUMBER OF FACTORS C BLANK=BLANK FIELD C LEVEL=LEVELS OF FACTORS IF(K.EQ.0) STOP C PRINT PROBLEM NUMBER AND LEVEL OF FACTORS WRITE(IOUT,2) PR,PR1 WRITE(IOUT,3) (HEAD(I),LEVEL(I),I=1,K) C CALCULATE TOTAL NUMBER OF DATA ELEMENTS N=LEVEL(1) DO 102 I=2,K 102 N=N*LEVEL(I) C READ ALL INPUT DATA READ(IN,8) (X(I),I=1,N) CALL AVDAT(K,LEVEL,N,X,L,ISTEP,KOUNT) CALL AVCAL(K,LEVEL,X,L,ISTEP,LASTS) CALL MEANQ(K,LEVEL,X,GMEAN,SUMSQ,NDF,SMEAN,ISTEP,KOUNT,LASTS) C PRINT GRAND MEAN WRITE(IOUT,4) GMEAN C PRINT ANALYSIS OF VARIANCE TABLE WRITE(IOUT,5) LL=(2**K)-1 ISTEP(1)=1 DO 105 I=2,K 105 ISTEP(I)=0 DO 110 I=1,15 110 FMT(I)=BLANK NN=0 SUM=0.0 120 NN=NN+1 L=0 DO 140 I=1,K FMT(I)=BLANK IF(ISTEP(I)) 130,140,130 130 L=L+1 FMT(L)=HEAD(I) 140 CONTINUE WRITE(IOUT,6)(FMT(I),I=1,15),SUMSQ(NN),NDF(NN),SMEAN(NN) SUM=SUM+SUMSQ(NN) IF(NN-LL) 145,170,170 145 DO 160 I=1,K IF(ISTEP(I)) 147,150,147 147 ISTEP(I)=0 GO TO 160 150 ISTEP(I)=1 GO TO 120 160 CONTINUE 170 N=N-1 WRITE(IOUT,7) SUM,N GO TO 100 END