home *** CD-ROM | disk | FTP | other *** search
/ Frostbyte's 1980s DOS Shareware Collection / floppyshareware.zip / floppyshareware / DOOG / PCSSP2.ZIP / STATNONP.ZIP / MPAIR.FOR < prev    next >
Text File  |  1985-12-31  |  3KB  |  140 lines

  1. C
  2. C     ..................................................................
  3. C
  4. C     SUBROUTINE MPAIR
  5. C
  6. C     PURPOSE
  7. C        PERFORM THE WILCOXON MATCHED-PAIRS SIGNED-RANKS TEST, GIVEN
  8. C        TWO VECTORS OF N OBSERVATIONS OF THE MATCHED SAMPLES.
  9. C
  10. C     USAGE
  11. C        CALL MPAIR (N,A,B,K,T,Z,P,D,E,L,IE)
  12. C
  13. C     DESCRIPTION OF PARAMETERS
  14. C        N - NUMBER OF OBSERVATIONS IN THE VECTORS A AND B
  15. C        A - INPUT VECTOR OF LENGTH N CONTAINING DATA FROM THE FIRST
  16. C        SAMPLE
  17. C        B - INPUT VECTOR OF LENGTH N CONTAINING DATA FROM THE SECOND
  18. C        SAMPLE
  19. C        K - OUTPUT VARIABLE CONTAINING THE NUMBER OF PAIRS OF THE
  20. C        MATCHED SAMPLES WHOSE DIFFERENCES ARE NON ZERO (0)
  21. C        T - OUTPUT VARIABLE CONTAINING THE SUM OF THE RANKS OF PLUS
  22. C        OR MINUS DIFFERENCES, WHICHEVER IS SMALLER
  23. C        Z - VALUE OF THE STANDARDIZED NORMAL SCORE COMPUTED FOR THE
  24. C        WILCOXON MATCHED-PAIRS SIGNED-RANKS TEST
  25. C        P - COMPUTED PROBABILITY OF OBTAINING A VALUE OF Z AS
  26. C        EXTREME AS THE ONE FOUND BY THE TEST
  27. C        D - WORKING VECTOR OF LENGTH N
  28. C        E - WORKING VECTOR OF LENGTH N
  29. C        L - WORKING VECTOR OF LENGTH N
  30. C        IE- 1, IF SAMPLES A AND B ARE IDENTICAL.
  31. C        0 OTHERWISE.  IF IE=1, THEN T=P=0, AND Z=-10**75
  32. C
  33. C     REMARKS
  34. C        THE COMPUTED PROBABILTY IS FOR A ONE-TAILED TEST.
  35. C        MULTIPLYING P BY 2 WILL GIVE THE VALUE FOR A TWO-TAILED
  36. C        TEST.
  37. C
  38. C     SUBROUTINES AND FUNCTIONS SUBPROGRAMS REQUIRED
  39. C        RANK
  40. C        NDTR
  41. C
  42. C     METHOD
  43. C        REFER TO DIXON AND MASSEY, AN INTRODUCTION TO STATISTICAL
  44. C        ANALYSIS (MC GRAW-HILL, 1957)
  45. C
  46. C     ..................................................................
  47. C
  48.       SUBROUTINE MPAIR (N,A,B,K,T,Z,P,D,E,L,IE)
  49. C
  50.       DIMENSION A(1),B(1),D(1),E(1),L(1)
  51. C
  52.       IE=0
  53.       K=N
  54. C
  55. C     FIND DIFFERENCES OF MATCHED-PAIRS
  56. C
  57.       BIG=0.0
  58.       DO 55 I=1,N
  59.       DIF=A(I)-B(I)
  60.       IF(DIF) 10, 20, 30
  61. C
  62. C     DIFFERENCE HAS A NEGATIVE SIGN (-)
  63. C
  64.    10 L(I)=1
  65.       GO TO 40
  66. C
  67. C     DIFFERENCE IS ZERO (0)
  68. C
  69.    20 L(I)=2
  70.       K=K-1
  71.       GO TO 40
  72. C
  73. C     DIFFERENCE HAS A POSITIVE SIGN (+)
  74. C
  75.    30 L(I)=3
  76. C
  77.    40 DIF= ABS(DIF)
  78.       IF(BIG-DIF) 45, 50, 50
  79.    45 BIG=DIF
  80.    50 D(I)=DIF
  81. C
  82.    55 CONTINUE
  83.       IF(K) 57,57,59
  84.    57 IE=1
  85.       T=0.0
  86.       Z=-1.0E38
  87.       P=0
  88.       GO TO 100
  89. C
  90. C     STORE A LARGE VALUE IN PLACE OF 0 DIFFERENCE IN ORDER TO
  91. C     ASSIGN A LARGE RANK (LARGER THAN K), SO THAT ABSOLUTE VALUES
  92. C     OF SIGNED DIFFERENCES WILL BE PROPERLY RANKED
  93. C
  94.    59 BIG=BIG*2.0
  95.       DO 65 I=1,N
  96.       IF(L(I)-2) 65, 60, 65
  97.    60 D(I)=BIG
  98.    65 CONTINUE
  99. C
  100.       CALL RANK (D,E,N)
  101. C
  102. C        FIND SUMS OF RANKS OF (+) DIFFERENCES AND (-) DIFFERENCES
  103. C
  104.       SUMP=0.0
  105.       SUMM=0.0
  106.       DO 80 I=1,N
  107.       IF(L(I)-2) 70, 80, 75
  108.    70 SUMM=SUMM+E(I)
  109.       GO TO 80
  110.    75 SUMP=SUMP+E(I)
  111.    80 CONTINUE
  112. C
  113. C        SET T = SMALLER SUM
  114. C
  115.       IF(SUMP-SUMM) 85, 85, 90
  116.    85 T=SUMP
  117.       GO TO 95
  118.    90 T=SUMM
  119. C
  120. C        COMPUTE MEAN, STANDARD DEVIATION, AND Z
  121. C
  122.    95 FK=K
  123.       U=FK*(FK+1.0)/4.0
  124.       S= SQRT((FK*(FK+1.0)*(2.0*FK+1.0))/24.0)
  125.       Z=(T-U)/S
  126. C
  127. C        COMPUTE THE PROBABILITY OF A VALUE AS EXTREME AS Z
  128. C
  129.       CALL NDTR (Z,P,BIG)
  130. C
  131.   100 RETURN
  132.       END
  133. O 95
  134.    90 T=SUMM
  135. C
  136. C        COMPUTE MEAN, STANDARD DEVIATION, AND Z
  137. C
  138.    95 FK=K
  139.       U=FK*(FK+1.0)/4.0
  140.