Google
 

Trailing-Edge - PDP-10 Archives - decuslib20-02 - decus/20-0026/utest.ssp
There are 2 other files named utest.ssp in the archive. Click here to see a list.
C                                                                       UTES  10
C     ..................................................................UTES  20
C                                                                       UTES  30
C        SUBROUTINE UTEST                                               UTES  40
C                                                                       UTES  50
C        PURPOSE                                                        UTES  60
C           TEST WHETHER TWO INDEPENDENT GROUPS ARE FROM THE SAME       UTES  70
C           POPULATION BY MEANS OF MANN-WHITNEY U-TEST                  UTES  80
C                                                                       UTES  90
C        USAGE                                                          UTES 100
C           CALL UTEST(A,R,N1,N2,U,Z,IER)                               UTES 110
C                                                                       UTES 120
C        DESCRIPTION OF PARAMETERS                                      UTES 130
C           A  - INPUT VECTOR OF CASES CONSISTING OF TWO INDEPENDENT    UTES 140
C                GROUPS . SMALLER GROUP PRECEDES LARGER GROUP. LENGTH   UTES 150
C                IS N1+N2.                                              UTES 160
C           R  - OUTPUT VECTOR OF RANKS. SMALLEST VALUE IS RANKED 1,    UTES 170
C                LARGEST IS RANKED N. TIES ARE ASSIGNED AVERAGE OF TIED UTES 180
C                RANKS. LENGTH IS N1+N2.                                UTES 190
C           N1 - NUMBER OF CASES IN SMALLER GROUP                       UTES 200
C           N2 - NUMBER OF CASES IN LARGER GROUP                        UTES 210
C           U  - STATISTIC USED TO TEST HOMOGENEITY OF THE TWO          UTES 220
C                GROUPS (OUTPUT)                                        UTES 230
C           Z  - MEASURE OF SIGNIFICANCE OF U IN TERMS OF NORMAL        UTES 240
C                DISTRIBUTION (OUTPUT)                                  UTES 250
C           IER- 0, IF NO ERROR.                                        UTES 251
C              - 1, IF ALL VALUES OF ONE GROUP ARE TIED.                UTES 252
C                                                                       UTES 260
C        REMARKS                                                        UTES 270
C           Z IS SET TO ZERO IF N2 IS LESS THAN 20                      UTES 280
C                                                                       UTES 290
C        SUBROUTINES AND FUNCTION SUBPROGRAMS REQUIRED                  UTES 300
C           RANK                                                        UTES 310
C           TIE                                                         UTES 320
C                                                                       UTES 330
C        METHOD                                                         UTES 340
C           DESCRIBED IN S. SIEGEL, 'NONPARAMETRIC STATISTICS FOR THE   UTES 350
C           BEHAVIORAL SCIENCES', MCGRAW-HILL, NEW YORK, 1956,          UTES 360
C           CHAPTER 6                                                   UTES 370
C                                                                       UTES 380
C     ..................................................................UTES 390
C                                                                       UTES 400
      SUBROUTINE UTEST(A,R,N1,N2,U,Z)                                   UTES 410
      DIMENSION A(1),R(1)                                               UTES 420
C                                                                       UTES 430
C        RANK SCORES FROM BOTH GROUP TOGETHER IN ASCENDING ORDER, AND   UTES 440
C        ASSIGN TIED OBSERVATIONS AVERAGE OF TIED RANKS                 UTES 450
C                                                                       UTES 460
      N=N1+N2                                                           UTES 470
      CALL RANK(A,R,N)                                                  UTES 480
      Z=0.0                                                             UTES 490
C                                                                       UTES 500
C        SUM RANKS IN LARGER GROUP                                      UTES 510
C                                                                       UTES 520
      R2=0.0                                                            UTES 530
      NP=N1+1                                                           UTES 540
      DO 10 I=NP,N                                                      UTES 550
   10 R2=R2+R(I)                                                        UTES 560
C                                                                       UTES 570
C        CALCULATE U                                                    UTES 580
C                                                                       UTES 590
      FNX=N1*N2                                                         UTES 600
      FN=N                                                              UTES 610
      FN2=N2                                                            UTES 620
      UP=FNX+FN2*((FN2+1.0)/2.0)-R2                                     UTES 630
      U=FNX-UP                                                          UTES 640
      IF(UP-U) 20,30,30                                                 UTES 650
   20 U=UP                                                              UTES 660
C                                                                       UTES 670
C        TEST FOR N2 LESS THAN 20                                       UTES 680
C                                                                       UTES 690
   30 IF(N2-20) 80,40,40                                                UTES 700
C                                                                       UTES 710
C        COMPUTE STANDARD DEVIATION                                     UTES 720
C                                                                       UTES 730
   40 KT=1                                                              UTES 740
      CALL TIE(R,N,KT,TS)                                               UTES 750
      IF(TS) 50,60,50                                                   UTES 760
   50 IF (TS-(FN*FN*FN-FN)/12)52,51,52                                  UTES 761
   51 IER=1                                                             UTES 762
      GO TO 80                                                          UTES 763
   52 S=SQRT((FNX/(FN*(FN-1.0)))*(((FN*FN*FN-FN)/12.0)-TS))             UTES 770
      GO TO 70                                                          UTES 780
   60 S=SQRT(FNX*(FN+1.0)/12.0)                                         UTES 790
C                                                                       UTES 800
C        COMPUTE Z                                                      UTES 810
C                                                                       UTES 820
   70 Z=(U-FNX*0.5)/S                                                   UTES 830
   80 RETURN                                                            UTES 840
      END                                                               UTES 850