home *** CD-ROM | disk | FTP | other *** search
/ Power-Programmierung / CD1.mdf / fortran / library / ssp / statnonp / signt.for < prev    next >
Encoding:
Text File  |  1985-11-29  |  3.3 KB  |  130 lines

  1. C
  2. C     ..................................................................
  3. C
  4. C        SUBROUTINE SIGNT
  5. C
  6. C        PURPOSE
  7. C           TO PERFORM A NON-PARAMETRIC SIGN TEST, GIVEN TWO SETS OF
  8. C           MATCHED OBSERVATIONS.  IT TESTS THE NULL HYPOTHESIS THAT THE
  9. C           DIFFERENCES BETWEEN EACH PAIR OF MATCHED OBSERVATIONS HAS A
  10. C           MEDIAN EQUAL TO ZERO.
  11. C
  12. C        USAGE
  13. C           CALL SIGNT (N,A,B,K,M,P,IE)
  14. C
  15. C        DESCRIPTION OF PARAMETERS
  16. C           N - NUMBER OF OBSERVATIONS IN SETS A AND B
  17. C           A - INPUT VECTOR OF LENGTH N CONTAINING DATA FROM THE FIRST
  18. C               SAMPLE, A
  19. C           B - INPUT VECTOR OF LENGTH N CONTAINING DATA FROM THE SECOND
  20. C               SAMPLE, B
  21. C           K - OUTPUT VARIABLE CONTAINING THE NUMBER OF PAIRS OF
  22. C               OBSERVATIONS FROM THE TWO SAMPLES WHOSE DIFFERENCES ARE
  23. C               NON-ZERO
  24. C           M - OUTPUT VARIABLE CONTAINING THE NUMBER OF PLUS OR MINUS
  25. C               DIFFERENCES, WHICHEVER IS FEWER.
  26. C           P - COMPUTED PROBABILITY OF AS FEW AS M NUMBER OF PAIRS
  27. C               HAVING THE SAME SIGN, ASSUMING THAT THE SAMPLES CAME
  28. C               FROM THE SAME POPULATION.
  29. C           IE- 0, IF THERE IS NO ERROR.
  30. C               1, IF K IS ZERO.  IN THIS CASE, P IS SET TO 1.0 AND
  31. C               M TO 0.
  32. C
  33. C        REMARKS
  34. C           IF K IS LESS THAN OR EQUAL TO 25, THE PROBABILITY WILL BE
  35. C           COMPUTED USING THE BINOMIAL DISTRIBUTION.  IF K IS GREATER
  36. C           THAN 25, THE PROBABILITY WILL BE COMPUTED USING THE NORMAL
  37. C           APPROXIMATION TO THE BINOMIAL DISTRIBUTION.
  38. C           P COMPUTED IS THE PROBABILITY FOR A ONE-TAILED TEST.  THUS,
  39. C           FOR A TWO TAILED TEST, DOUBLE THE VALUE FOR P.
  40. C
  41. C        SUBROUTINES AND FUNCTION SUBPROGRAMS REQUIRED
  42. C           NDTR
  43. C
  44. C        METHOD
  45. C           REFER TO DIXON AND MASSEY, INTRODUCTION TO STATISTICAL
  46. C           ANALYSIS (MCGRAW-HILL, 1957).
  47. C
  48. C     ..................................................................
  49. C
  50.       SUBROUTINE SIGNT (N,A,B,K,M,P,IE)
  51. C
  52.       DIMENSION A(1),B(1)
  53.       DOUBLE PRECISION FN,FD
  54. C
  55. C        INITIALIZATION
  56. C
  57.       IE=0
  58.       K=0
  59.       MPLUS=0
  60.       MMINS=0
  61. C
  62. C        FIND (+) OR (-) DIFFERENCE
  63. C
  64.       DO 40 I=1,N
  65.       D=A(I)-B(I)
  66.       IF(D) 20, 40, 30
  67. C
  68. C        (-) DIFFERENCE
  69. C
  70.    20 K=K+1
  71.       MMINS=MMINS+1
  72.       GO TO 40
  73. C
  74. C        (+) DIFFERENCE
  75. C
  76.    30 K=K+1
  77.       MPLUS=MPLUS+1
  78. C
  79.    40 CONTINUE
  80.       IF(K) 41,41,42
  81.    41 IE=1
  82.       P=1.0
  83.       M=0
  84.       GO TO 95
  85.    42 FK=K
  86. C
  87. C        FIND THE NUMBER OF FEWER SIGNS
  88. C
  89.       IF(MPLUS-MMINS) 45, 45, 50
  90.    45 M=MPLUS
  91.       GO TO 55
  92.    50 M=MMINS
  93. C
  94. C        TEST WHETHER K IS GREATER THAN 25
  95. C
  96.    55 IF(K-25) 60, 60, 77
  97. C
  98. C        K IS LESS THAN OR EQUAL TO 25
  99. C
  100.    60 P=1.0
  101.       IF(M) 75, 75, 65
  102.    65 FN=1.0
  103.       FD=1.0
  104.       DO 70 I=1,M
  105.       FI=I
  106.       FN=FN*(FK-(FI-1.0))
  107.       FD=FD*FI
  108.    70 P=P+FN/FD
  109. C
  110.    75 P=P/(2.0**K)
  111.       GO TO 95
  112. C
  113. C        K IS GREATER THAN 25.  COMPUTE MEAN, STANDARD DEVIATION, AND Z
  114. C
  115.    77 U=0.5*FK
  116.       S=0.5*SQRT(FK)
  117.       FM=M
  118.       IF(FM-U) 80, 85, 85
  119.    80 CON=0.5
  120.       GO TO 90
  121.    85 CON=0.0
  122.    90 Z=(FM+CON-U)/S
  123. C
  124. C        COMPUTE P ASSOCIATED WITH THE VALUE AS EXTREME AS Z
  125. C
  126.       CALL NDTR (Z,P,D)
  127. C
  128.    95 RETURN
  129.       END
  130.