PROGRAM GCS49 C*********************************************************************** C * C G O D D A R D C O M P U T E R S C I E N C E I N S T I T U T E * C * C (1) PROGRAM NAME, LINEAR REGRESSION WITH REPLICATION * C (2) CALLING NAME, MPYREG * C (3) STATUS/CHANGE LEVEL, PGM.= GCSL049, PCR.= 01-08-67 * C (4) PROGRAMMED BY, BETTY A. KENNER * C MODIFIED BY, STEWART H. CROSSLAND * C (5) ADAPTED TO HP FORMAT ROLAND JAHN 01-70 * C * C SUPPORTED IN PART BY GRANT NO. FR00197 BY THE * C SPECIAL RESEARCH RESOURCES BRANCH, NIH-USPHS. * C * C*********************************************************************** DIMENSION X(150),Y(150),SY(150),SSY(150),M(150),SYS(150) DIMENSION YMN(150),HEDER(36),YEST(150),YDIF(150) EQUIVALENCE (N,NPT) C C INITIALIZE VARIABLES C 10 SXL=0.0 YDIFS = 0.0 SSYT=0.0 SYT=0.0 SSX=0.0 SX=0.0 SXY=0.0 SSER=0.0 SXBYB=0.0 SXBS=0.0 SYBS=0.0 DO 20 I=1,150 SY(I)=0.0 SSY(I)=0.0 M(I)=0 20 SYS(I)=0.0 C C READ AND PRINT HEADER AND PARAMETERS C WRITE (6, 140) READ (5, 150) (HEDER(I),I=1,36) WRITE (6, 150) (HEDER(I),I=1,36) READ (5, 160) ISW2,NPT WRITE (6, 170) ISW2,NPT WRITE (6, 180) CALL READ (X,Y,NPT) N=NPT C C SUMS AND SUMS OF SQUARES OVER C ALL REPLICATES C XL=1.0 J=1 M(1)=1 SY(1)=Y(1) SSY(1)=Y(1)*Y(1) DO 70 I=2,NPT IF(X(I)-X(I-1)) 40,30,40 30 SY(J)=SY(J)+Y(I) SSY(J)=SSY(J)+Y(I)*Y(I) M(J)=M(J)+1 SXL=SXL+XL GO TO 70 40 SYS(J)=SY(J)*SY(J) YM=M(J) YMN(J)=SY(J)/YM 50 WRITE (6, 190) X(I-1),M(J),YMN(J) 60 J=J+1 XL=XL+1.0 M(J)=1 SXL=SXL+XL SY(J)=Y(I) SSY(J)=Y(I)*Y(I) 70 CONTINUE 80 YM=M(J) YMN(J)=SY(J)/YM SXL=SXL+XL 90 WRITE (6, 190) X(N),M(J),YMN(J) C C ESTIMATES OF B(0) AND B(1) C DO 100 I=1,N SSYT=SSYT+Y(I)*Y(I) SYT=SYT+Y(I) SSX=SSX+X(I)*X(I) SX=SX+X(I) 100 SXY=SXY+X(I)*Y(I) TN=N SXBAR=SXL/XL XBAR=SX/TN YBAR=SYT/TN B1=(SXY-(SX*SYT/TN))/(SSX-(SX*SX/TN)) B0= YBAR-B1*XBAR C C PREDICTED VALUES AND RESIDUALS C DO 110 I=1,N SYBS=SYBS+(Y(I)-YBAR)**2 SXBS=SXBS+(X(I)-XBAR)**2 SXBYB=SXBYB+(X(I)-XBAR)*(Y(I)-YBAR) YEST(I) = B0+B1*X(I) YDIF(I) = Y(I)-YEST(I) 110 YDIFS=YDIFS+YDIF(I)*YDIF(I) C C ANOVA - RANDOMIZED BLOCK DESIGN C SSRES=YDIFS LDF=J-2 IEDF=N-2-LDF ITDF=N IRDF=N-2 RDF=IRDF SYST=SYT*SYT SSB0=SYST/TN SSB1=B1*SXBYB DO 120 K=1,J YM=M(K) 120 SSER=SSER+SSY(K)-(SY(K)*SY(K)/YM) SSLF=SSRES-SSER EDF=IEDF SMER=SSER/EDF XLDF=LDF SMLF=SSLF/XLDF C C VARIANCE OF B(0) AND B(1) C VARB1 = SMER/SXBS VARB0 = SMER*(1.0/TN+(XBAR*XBAR)/SXBS) RESMS=SSRES/(TN-2.0) RESMS = SQRT(RESMS) SST=SSRES+SSB0+SSB1 C C DETERMINE VARIANCE OR F- RATIOS C F=SMLF/SMER DFPOL = LDF+IEDF POLSS = (SSLF+SSER)/DFPOL POLSS = SSB1/POLSS C C PRINT RESULTS OF THE ANALYSIS C WRITE (6, 200) B0,VARB0,B1,VARB1,RESMS WRITE (6, 210) WRITE (6, 220) SST,N WRITE (6, 230) SSB0,SSB0 TOTSS = SST-SSB0 NLES1 = N-1 DFLES = NLES1 XMSTT = TOTSS/DFLES WRITE (6, 240) TOTSS,NLES1,XMSTT WRITE (6, 250) SSB1,SSB1,POLSS WRITE (6, 260) SSLF,LDF,SMLF,F WRITE (6, 270) SSER,IEDF,SMER WRITE (6, 140) WRITE (6, 150) (HEDER(I),I=1,36) WRITE (6, 170) ISW2,NPT WRITE (6, 280) DO 130 I = 1,N 130 WRITE (6, 290) X(I),Y(I),YEST(I),YDIF(I) C C FORMAT STATEMENTS C 140 FORMAT(30(/),44HLINEAR REGRESSION WITH REPLICATION (GCSL049) /) 150 FORMAT( 36A2 ) 160 FORMAT(I1,I3) 170 FORMAT( / 16HINPUT PARAMETERS,4X,5HISW2=I1,3X,7HNPOINT=I3 //) 180 FORMAT( / 5X,7HX VALUE,3X,10HREPLICATES,4X,11HMEAN OF Y S /) 190 FORMAT(F12.4,7X,I3,6X,F12.4 ) 200 FORMAT( / 19HESTIMATE OF B(0) =F12.4/ 19HVARIANCE OF B(0) =F 112.4/ 19HESTIMATE OF B(1) =F12.4/ 19HVARIANCE OF B(1) =F12 2.4/ 19HSTD. ERR. OF EST. =F12.4 /) 210 FORMAT( // 25H SOURCE OF VARIATION ,3X,7HSUMS OF,5X,7HD 2EGREES,8X,4HMEAN,4X,8HVARIANCE/ 28X,7HSQUARES,5X,7HFREEDOM,5X,7 3HSQUARES,7X,5HRATIO /) 220 FORMAT( 5HTOTAL,18X,F12.4,7X,I3 ) 230 FORMAT( 24HMEAN (CORRECTION FACTOR),F11.4,9X,1H1,2X,F12.4) 240 FORMAT( 26HTOTAL (CORRECTED FOR MEAN),F9.4,7X,I3,2X,F12.4) 250 FORMAT( 17HLINEAR REGRESSION,6X,F12.4,9X,1H1,2X,F12.4,F12.4) 260 FORMAT( 11HLACK OF FIT,12X,F12.4,7X,I3,2X,F12.4,F12.4) 270 FORMAT( 18HEXPERIMENTAL ERROR,5X,F12.4,7X,I3,2X,F12.4) 280 FORMAT( / 5X,7HX VALUE,9X,7HY VALUE,9X,7HPRED. Y,7X,8HRESIDUAL /) 290 FORMAT(4(F12.4,4X)) C C PROGRAM CONTROL LOGIC C IF (ISW2) 10,300,10 300 CONTINUE END SUBROUTINE READ (X,Y,N) DIMENSION X(1),Y(1) 100 FORMAT (2F8.0) DO 200 I=1,N 200 READ (5, 100) X(I),Y(I) RETURN END *OSTLE, B. STATISTICS IN RESEARCH (2ND EDITION) PAGE 189 0012 200. 6.4 200. 5.6 200. 6.0 210. 7.5 210. 6.5 220. 8.3 220. 7.7 230. 11.7 230. 10.3 240. 17.6 240. 18.0 240. 18.4