1  REM ****  HP BASIC PROGRAM LIBRARY  ******************************
2  REM
3  REM       GRANK: RANKING STATISTICS
4  REM
5  REM       36541 REV A
6  REM
7  REM ****  CONTRIBUTED PROGRAM  ***********************************
1000  DIM X[20,10],R[10,10],T[20]
1005  T1=R1=0
1006  MAT R=ZER
1007  MAT T=ZER
1010  PRINT "HOW MANY RANKINGS DO YOU HAVE";
1020  INPUT K
1030  PRINT "HOW MANY RANKS DO YOU HAVE";
1040  INPUT N
1050  FOR I=1 TO K
1060  FOR J=1 TO N
1070  READ X[J,I]
1080  NEXT J
1090  NEXT I
1100  PRINT 
1110  PRINT 
1120  MAT R=IDN[K,K]
1130  PRINT "RANKINGS"
1140  FOR I=1 TO K
1150  PRINT  USING 1151;I
1151  IMAGE #,4D
1160  NEXT I
1170  PRINT 
1175  PRINT 
1180  FOR I=1 TO N
1200  FOR J=1 TO K
1210  PRINT  USING 1151;X[I,J]
1220  T[I]=T[I]+X[I,J]
1230  IF J=K THEN 1270
1240  FOR L=J+1 TO K
1250  R[J,L]=R[J,L]+(X[I,J]-X[I,L])^2
1260  NEXT L
1270  NEXT J
1280  T1=T1+T[I]^2
1285  PRINT 
1290  NEXT I
1300  FOR I=1 TO K
1310  IF I=K THEN 1350
1320  FOR J=I+1 TO K
1330  R[I,J]=1-(6*R[I,J]/(N*(N*N-1)))
1340  NEXT J
1350  NEXT I
1360  PRINT 
1370  IF K=2 THEN 1530
1380  PRINT "SPEARMAN R(S) MATRIX"
1390  FOR I=1 TO K
1400  FOR J=1 TO K
1410  IF R[I,J]=0 THEN 1450
1420  PRINT  USING 1421;R[I,J]
1421  IMAGE #,D.DDDXX
1430  R1=R1+R[I,J]
1440  GOTO 1460
1450  PRINT  USING "#,XXXXXXX"
1460  NEXT J
1465  PRINT 
1470  NEXT I
1480  R1=(R1-K)/((K/2)*(K-1))
1490  W1=12*T1/((K*K*N)*(N*N-1))-(3*(N+1)/(N-1))
1500  PRINT 
1510  PRINT "AVERAGE R(S)= ";R1,"KENDALL W= ";W1
1520  GOTO 1540
1530  PRINT "SPEARMAN R(S)= ";R[1,2]
1540  PRINT 
1550  STOP 
9990  END 
