Listing of file='RANK.BAS;01' on disk='vmedia/statistics_3-sector.ccvf'
5 REM RANK 7 REM WRITTEN BY WALTER DEGLER 5/5/79 9 REM 10 REM SETS OF DATA ARE COMPARED AS SETS OF RANKS 25 PLOT 12,14,6,2 50 DIM A(625),L(24),U(24) 60 DIM M(74),N(74) 75 DIM R(24),X(24),MS(24) 1999 REM 2000 REM INPUT DATA 2010 M= 100000 2025 INPUT "DATA SOURCE (F-FILE OR K-KEYBOARD): ";Z$ 2050 INPUT "NUMBER OF DATA SETS: ";ND 2060 K= ND- 1:L= INT (400/ (ND- 1)) 2065 DIM D(K,L),Z(K,L) 2070 PRINT :PLOT 15 2075 IF Z$= "F"THEN 2500 2100 FOR I= 0TO ND- 1 2110 PLOT 12,15,6,1 2125 PRINT "DATA SET"I+ 1 2140 INPUT "NUMBER OF DATA POINTS: ";NO(I) 2145 IF NO(I)< MTHEN M= NO(I) 2150 PLOT 6,2 2175 PRINT "NUMBER OF DATA POINT, VALUE:" 2200 PLOT 6,3 2225 INPUT "#";J 2250 IF J< 1THEN PLOT 12,27,24:GOTO 2350 2275 PRINT SPC( 6);:PLOT 28 2300 INPUT "";D(I,J- 1) 2310 A(J- 1)= D(I,J- 1) 2325 GOTO 2225 2350 GOSUB 9000 2360 NEXT 2375 PLOT 27,24 2400 GOTO 3000 2500 FOR I= 0TO ND- 1 2520 PLOT 6,6 2525 PRINT "DATA SET"I+ 1" FILE NAME (OR 'S' IF SAME AS LAST):" 2530 PLOT 6,1 2540 INPUT G$ 2550 IF G$= "S"THEN 2625 2575 IF I< > 0THEN FILE "C",1 2600 F$= G$:FILE "R",1,F$,6 2625 GET 1,1,5;NO(I) 2630 IF NO(I)< MTHEN M= NO(I) 2640 PLOT 6,3 2650 INPUT "TYPE NUMBER: ";T 2675 FOR J= 0TO NO(I)- 1 2700 GET 1,T,9+ 4* J;D(I,J) 2725 A(J)= D(I,J) 2750 NEXT 2775 GOSUB 9000 2800 NEXT 2999 REM 3000 REM COMPUTE MANN-WHITNEY CONFIDENCE LIMITS 3010 PLOT 12,14,6,2 3020 INPUT "ENTER MANN-WHITNEY CRITICAL VALUE: ";CV:CV= CV+ 1 3025 Z1= INT (CV):Z2= CV- Z1 3050 FOR I= 0TO ND- 2 3075 FOR J= I+ 1TO ND- 1 4000 D= 0:IX= I* (ND- (I- 1)/ 2- 2)+ J- 1 4025 FOR K= 0TO NO(I)- 1 4050 FOR L= 0TO NO(J)- 1 4060 SB= K* NO(J)+ L 4075 A(SB)= D(I,K)- D(J,L) 4080 IF K= LTHEN Z= Z(I,K)- Z(J,L):D= D+ Z* Z 4100 NEXT L,K 4150 M(0)= 0:N(0)= NO(I)* NO(J):U= 0:X= 1 4155 M(X)= 1 4160 A(NO(I)* NO(J))= 1E30 4175 MQ= M(U):NQ= N(U) 4200 IF M(U)= 0AND N(U)= 0THEN 4375 4225 GOSUB 10000 4250 U= U+ 1 4275 GOTO 4175 4375 PLOT 27,24 4430 T= NO(I)* NO(J) 4450 L(IX)= A(Z1- 1)* (1- Z2)+ A(Z1)* Z2 4475 U(IX)= A(T- Z1)* (1- Z2)+ A(T- Z1- 1)* Z2 4999 REM 5000 REM COMPUTE RANK CORRELATION (SPEARMAN) 5080 MN= NO(I):IF MN> NO(J)THEN MN= NO(J) 5100 R(IX)= 1- 6* D/ (MN* (MN* MN- 1)) 5500 NEXT J,I 5999 REM 6000 REM COMPUTE COEFFICIENT OF CONCORDANCE 6010 X= 0:S= 0 6025 FOR I= 0TO M- 1 6050 FOR J= 0TO ND- 1 6075 X(I)= X(I)+ Z(J,I) 6100 NEXT J,I 6150 FOR I= 0TO M- 1 6160 X= X+ X(I) 6175 S= S+ X(I)* X(I) 6200 NEXT 6225 S= S- X* X/ M 6250 W= 12* S/ (ND* ND* M* (M* M- 1)) 6999 REM 7000 REM PRINT STATISTICS 7025 PLOT 12,15,6,6 7050 PRINT TAB( 28);"RANK ANALYSIS" 7075 PRINT :PLOT 6,1 7100 PRINT "COEFF. OF CONCORDANCE"; 7125 PLOT 6,3 7150 PRINT W; 7175 PLOT 6,1 7200 PRINT TAB( 40);"CRITICAL VALUE"; 7225 PLOT 6,3 7250 PRINT CV- 1 7275 PRINT :PLOT 6,1 7300 PRINT " SETS";TAB( 15);"MANN-WHITNEY RANK TEST";TAB( 44);"RANK CORRELATION" 7325 PRINT TAB( 12);"LOWER LIMIT";TAB( 30);"UPPER LIMIT";TAB( 47);"(SPEARMAN)" 7350 PLOT 6,3 7360 L= 0 7375 FOR I= 0TO ND- 2 7400 FOR J= I+ 1TO ND- 1 7430 L= L+ 1:IF L= 25THEN 7750 7450 K= I* (ND- (I- 1)/ 2- 2)+ J- 1 7700 PRINT I+ 1;TAB( 3);",";J+ 1;TAB( 13);L(K);TAB( 30);U(K);TAB( 47);R(K) 7725 NEXT J,I 7730 L= 0 7750 PLOT 3,0,31,6,1 7775 INPUT "ENTER 1-RETURN, 2-CONTINUE, 3-SAVE OR 4-END: ";Z 7800 IF Z= 1THEN 3000 7850 IF Z= 3THEN PLOT 27,4:PRINT "SAV RANK.DSP 6000":PLOT 27,27:GOTO 7750 7875 IF Z< > 2THEN LOAD "MENU":RUN 7900 FOR M= 7TO 31 7925 PLOT 3,0,M,11:PRINT 7950 NEXT M 7975 PLOT 3,0,7,6,3 7980 IF L= 0THEN 7375 7985 L= 1:GOTO 7450 9000 REM DETERMINE RANKS 9025 M(0)= 0:N(0)= NO(I):U= 0:X= 1 9050 M(X)= 1:A(NO(I))= 1E30 9075 MQ= M(U):NQ= N(U) 9100 IF M(U)= 0AND N(U)= 0THEN 9275 9125 GOSUB 10000 9150 U= U+ 1 9175 GOTO 9075 9275 FOR K= 0TO NO(I)- 1 9300 FOR L= 0TO NO(I)- 1 9325 IF D(I,K)= A(L)THEN Z(I,K)= L+ 1 9350 NEXT L,K 9375 FOR K= 0TO NO(I)- 1 9999 REM 10000 REM SORT ROUTINE (QUICKSORT) 10025 K= MQ:L= NQ+ 1:A= A(MQ) 10050 K= K+ 1:IF A(K)< ATHEN 10050 10075 L= L- 1:IF A(L)> ATHEN 10075 10100 IF K< LTHEN Z= A(K):A(K)= A(L):A(L)= Z:GOTO 10050 10125 Z= A(MQ):A(MQ)= A(L):A(L)= Z 10150 IF MQ< L- 1THEN M(X)= MQ:N(X)= L- 1:X= X+ 1 10175 IF L+ 1< NQTHEN M(X)= L+ 1:N(X)= NQ:X= X+ 1 10225 M(X)= 0:N(X)= 0 10250 RETURN