home *** CD-ROM | disk | FTP | other *** search
/ Frostbyte's 1980s DOS Shareware Collection / floppyshareware.zip / floppyshareware / DOOG / PCSSP2.ZIP / STATNONP.ZIP / WTEST.FOR < prev   
Text File  |  1985-11-29  |  3KB  |  108 lines

  1. C
  2. C     ..................................................................
  3. C
  4. C        SUBROUTINE WTEST
  5. C
  6. C        PURPOSE
  7. C           TEST DEGREE OF ASSOCIATION AMONG A NUMBER OF VARIABLES BY
  8. C           THE KENDALL COEFFICIENT OF CONCORDANCE
  9. C
  10. C        USAGE
  11. C           CALL WTEST(A,R,N,M,WA,W,CS,NDF,NR)
  12. C
  13. C        DESCRIPTION OF PARAMETERS
  14. C           A   - INPUT MATRIX, N BY M, OF ORIGINAL DATA
  15. C           R   - OUTPUT MATRIX, N BY M, OF RANKED DATA.SMALLEST VALUE
  16. C                 IS RANKED 1, LARGEST IS RANKED N. TIES ARE ASSIGNED
  17. C                 AVERAGE OF TIED RANKS
  18. C           N   - NUMBER OF VARIABLES
  19. C           M   - NUMBER OF CASES
  20. C           WA  - WORK AREA VECTOR OF LENGTH 2*M
  21. C           W   - KENDALL COEFFICIENT OF CONCORDANCE(OUTPUT)
  22. C           CS  - CHI-SQUARE (OUTPUT)
  23. C           NDF - NUMBER OF DEGREES OF FREEDOM (OUTPUT)
  24. C           NR  - CODE, 0 FOR UNRANKED DATA IN A, 1 FOR RANKED DATA
  25. C                 IN A (INPUT)
  26. C
  27. C        REMARKS
  28. C           CHI-SQUARE IS SET TO ZERO IF M IS 7 OR SMALLER
  29. C
  30. C        SUBROUTINES AND FUNCTION SUBPROGRAMS REQUIRED
  31. C           RANK
  32. C           TIE
  33. C
  34. C        METHOD
  35. C           DESCRIBED IN S. SIEGEL, 'NONPARAMETRIC STATISTICS FOR THE
  36. C           BEHAVIORAL SCIENCES', MCGRAW-HILL, NEW YORK, 1956,
  37. C           CHAPTER 9
  38. C     ..................................................................
  39. C
  40. C
  41.       SUBROUTINE WTEST (A,R,N,M,WA,W,CS,NDF,NR)
  42.       DIMENSION A(1),R(1),WA(1)
  43. C
  44.       FM=M
  45.       FN=N
  46. C
  47. C        DETERMINE WHETHER DATA IS RANKED
  48. C        RANK DATA FOR ALL VARIABLES ASSIGNING TIED OBSERVATIONS AVERAGE
  49. C        OF TIED RANKS AND COMPUTE CORRECTION FOR TIED SCORES
  50. C
  51.       T=0.0
  52.       KT=1
  53.       DO 20 I=1,N
  54.       IJ=I-N
  55.       IK=IJ
  56.       IF(NR-1) 5,2,5
  57.     2 DO 3 J=1,M
  58.       IJ=IJ+N
  59.       K=M+J
  60.     3 WA(K)=A(IJ)
  61.       GO TO 15
  62.     5 DO 10 J=1,M
  63.       IJ=IJ+N
  64.    10 WA(J)=A(IJ)
  65.       CALL RANK(WA,WA(M+1),M)
  66.    15 CALL TIE(WA(M+1),M,KT,TI)
  67.       T=T+TI
  68.       DO 20 J=1,M
  69.       IK=IK+N
  70.       IW=M+J
  71.    20 R(IK)=WA(IW)
  72. C
  73. C        CALCULATE VECTOR OF SUMS OF RANKS
  74. C
  75.       IR=0
  76.       DO 40 J=1,M
  77.       WA(J)=0.0
  78.       DO 40 I=1,N
  79.       IR=IR+1
  80.    40 WA(J)=WA(J)+R(IR)
  81. C
  82. C        COMPUTE MEAN OF SUMS OF RANKS
  83. C
  84.       SM=0.0
  85.       DO 50 J=1,M
  86.    50 SM=SM+WA(J)
  87.       SM=SM/FM
  88. C
  89. C        COMPUTE SUM OF SQUARES OF DEVIATIONS
  90. C
  91.       S=0.0
  92.       DO 60 J=1,M
  93.    60 S=S+(WA(J)-SM)*(WA(J)-SM)
  94. C
  95. C        COMPUTE W
  96. C
  97.       W=S/(((FN*FN)*(FM*FM*FM-FM)/12.0)-FN*T)
  98. C
  99. C        COMPUTE DEGREES OF FREEDOM AND CHI-SQUARE IF M IS OVER 7
  100. C
  101.       CS=0.0
  102.       NDF=0
  103.       IF(M-7) 70,70,65
  104.    65 CS=FN*(FM-1.0)*W
  105.       NDF=M-1
  106.    70 RETURN
  107.       END
  108.