File: STAT.FT of Tape: Various/ETH/eth11-2
(Source file text)
C C STAT.FOR - SAMPLE PROGRAM (STATISTICS - DATA SAMPLING) USING: C ABSNT - DETECTION OF MISSING DATA C BOUND - SELECTION OF OBSERVATIONS WITHIN BOUNDS C SUBMX - BUILDING OF A SUBSET MATRIX C TAB2 - TABULATION OF DATA (2 VARIABLES) C TALLY - TOTALS, MEANS, S. D., MIN, MAX C TTSTT - TEST ON POPULATION MEANS C ALSO ... USE GAUSS (FOR DATA GENERATION) C DIMENSION A(20,10),S(20),TOTAL(10),AVE(10),STDEV(10),VMIN(10) DIMENSION VMAX(10),BLO(10),BHI(10),UNDER(10),BETW(10),OVER(10) DIMENSION NOV(2),UBO(3,2),FREQ(10,10),PERCNT(10,10),B(20,10) DIMENSION A1(200),STAT1(3,10),STAT2(3,10),B1(200) EQUIVALENCE (STDEV,UNDER,FREQ(1,3)),(VMIN,BETW,FREQ(1,4)) EQUIVALENCE (TOTAL,FREQ,B,B1),(AVE,FREQ(1,2)) EQUIVALENCE (VMAX,OVER,FREQ(1,5)),(B(1,6)),(A,A1) C DATA NOV/1,8/,UBO/2.,10.,10.,2.,10.,10./,ISEED/13107/ DATA BLO/10*0./,BHI/10*12./ C C OUTPUT CHANNEL = IOUT IOUT=2 C C GENERATE ORIGINAL DATA MATRIX DO 1 I=1,200 CALL GAUSS(ISEED,3.,6.,RV) 1 A1(I)=FLOAT(IABS(IFIX(RV))) C C LOOK FOR MISSING DATA NO=20 NV=10 CALL ABSNT(A,S,NO,NV) WRITE(IOUT,100) ((A(I,J),J=1,10),S(I),I=1,20) 100 FORMAT(//' DETECTION OF MISSING DATA BY ABSNT:'/17X'ORIGINAL 1 MATRIX',29X,'S-VECTOR'//(10F5.0,10X,F5.0)) C C ELIMINATE OBSERVATIONS WITH VARIABLES MISSING CALL SUBMX(A,B,S,NO,NV,N) WRITE(IOUT,101) 101 FORMAT(//' ELIMINATION OF "BAD" OBSERVATIONS BY SUBMX:') DO 20 I=1,N NI=I-N 20 WRITE(IOUT,1011) (B1(J*N+NI),J=1,10) 1011 FORMAT(10F5.0) C C CHECK RANGE WITHIN 2*SIGMA OF 6 CALL BOUND(A,S,BLO,BHI,UNDER,BETW,OVER,NO,NV,IER) WRITE(IOUT,102) (I,I=1,10),UNDER,BETW,OVER 102 FORMAT(//' CHECK RANGE WITH BOUND;'/' VARIABLE NO.'/ 1 10I5/' LESS THAN 0'/10F5.0/' IN RANGE'/10F5.0/ 2 ' GREATER THAN 12'/10F5.0) IF(IER.NE.0) WRITE(IOUT,103) IER C C COMPILE FULL-BLOWN STATISTICS CALL TALLY(A,S,TOTAL,AVE,STDEV,VMIN,VMAX,NO,NV,IER) 103 FORMAT(/' AND IER ='I2) WRITE(IOUT,104) (I,I=1,10),TOTAL,AVE,STDEV,VMIN,VMAX 104 FORMAT(//' FULL STATISTICS ON ARRAY:'/' VARIABLE NO.'/ 1 10I8/' TOTALS'/10F8.0/' AVERAGES'/10F8.2/' STAND. DEV.'/ 2 10F8.3/' MINIMUM OBSERVATION'/10F8.0 3/' MAXIMUM OBSERVATION'/10F8.0) IF (IER.NE.0) WRITE(IOUT,103) IER C C TABULATION OF STATISTICS ON VARIABLES 1 AND 2 CALL TAB2(A,S,NOV,UBO,FREQ,PERCNT,STAT1,STAT2,NO,NV) WRITE(IOUT,105) ((FREQ(I,J),J=1,10),I=1,10) 105 FORMAT(//' STATISTICS ON VARIABLES 1 AND 8:'/ 1 ' FREQUENCY MATRIX: (<2),2(1.00)10,(>10)'/(10F5.0)) WRITE(IOUT,106) ((PERCNT(I,J),J=1,10),I=1,10) 106 FORMAT(/' PER CENT DISTRIBUTION: (SAME PARTITION)'/(10F5.0)) I=1 WRITE(IOUT,107) I,((STAT1(J,K),K=1,10),J=1,3) 107 FORMAT(/' FOR VARIABLE',I2,' OVER SAME RANGE:'/' TOTALS'/ 1 10F8.0,/' MEANS'/,10F8.1,/' STD. DEV.'/,10F8.5) I=8 WRITE(IOUT,107) I,((STAT2(J,K),K=1,10),J=1,3) C C STATISTICS (T-TEST) ON VARIABLES 1 AND 8 DO 2 I=1,10 VMIN(I)=A(1,I) 2 VMAX(I)=A(8,I) DO 3 IOP=2,4 CALL TTSTT(VMIN,10,VMAX,10,IOP,NDF,ANS) GO TO (3,4,5,6),IOP 4 WRITE(IOUT,108) 108 FORMAT(//' T-STATISTICS ON VARIABLES 1 AND 8'// 1 ' HYPOTHESES: MEANS EQUAL, GIVEN VARIANCES EQUAL') GO TO 3 5 WRITE(IOUT,109) 109 FORMAT(/' HYPOTHESIS: MEANS EQUAL, GIVEN VARIANCES UNEQUAL') GO TO 3 6 WRITE(IOUT,110) 110 FORMAT(/' HYPOTHESIS: MEANS EQUAL, VARIANCES UNKNOWN') 3 WRITE(IOUT,111) NDF,ANS 111 FORMAT(10X'DEG. OF FREEDOM ='I4,10X,'T-STATISTIC ='F12.5) STOP END