1  REM  ****  HP BASIC PROGRAM LIBRARY  *******************************
2  REM
3  REM        STAT20:   THE FRIEDMAN TWO-WAY ANALYSIS OF VARIANCE
4  REM
5  REM        36608  REV B  --  10/73
6  REM
7  REM  ****  CONTRIBUTED PROGRAM  ************************************
10  REM FRIEDMAN ANALYSIS OF VARIANCE BY RANKS
15  REM PROGRAM BY LARRY ROBBINS AT BABSON COLLEGE
20  PRINT "NEED INSTRUCTIONS "
30  DIM E$[5]
40  INPUT E$
50  IF E$="YES" THEN 750
60  DIM Q$[70]
70  PRINT "WHAT IS THE VARIABLE NAME   ";
80  INPUT Q$
90  PRINT "WHAT IS THE NUMBER OF SETS OF DATA  ";
100  INPUT N
110  PRINT "WHAT IS THE NUMBER OF CONDITIONS IN EACH SET  ";
120  INPUT K
130  DIM A[50,5],B[51,5]
140  MAT B=ZER[N+1,K]
150  MAT A=ZER[N,K]
160  DIM X$[5]
170  FOR X1=1 TO N
180  FOR X2=1 TO K
190  READ A[X1,X2]
200  NEXT X2
210  NEXT X1
220  C1=0
230  FOR X1=1 TO N
240  FOR X2=1 TO K
250  FOR X3=1 TO K
260  IF A[X1,X2]>A[X1,X3] THEN 290
270  IF A[X1,X2]=A[X1,X3] THEN 730
280  GOTO 300
290  C1=C1+1
300  NEXT X3
310  B[X1,X2]=C1+.5
320  C1=0
330  NEXT X2
340  NEXT X1
350  FOR X1=1 TO K
360  FOR X2=1 TO N
370  LET B[N+1,X1]=B[N+1,X1]+B[X2,X1]
380  NEXT X2
390  NEXT X1
400  PRINT "DO YOU WANT THE RANK MATRIX PRINTED    ";
410  INPUT X$
420  IF X$="NO" THEN 610
430  PRINT '10'10'10
440  H=62/K
450  PRINT TAB(15);" RANKED SCORES FOR ";Q$
460  PRINT '10'10'10
470  FOR X1=1 TO N+1
480  FOR X2=0 TO K
490  IF X2=0 THEN 520
500  PRINT TAB(H*X2);B[X1,X2];
510  GOTO 560
520  IF X1=N+1 THEN 550
530  PRINT "SET #";X1;
540  GOTO 560
550  PRINT '10"TOTALS";
560  NEXT X2
570  PRINT 
580  PRINT 
590  NEXT X1
600  PRINT '10'10'10'10
610  T=0
620  FOR J=1 TO K
630  T=T+B[N+1,J]^2
640  NEXT J
650  T1=(12/(N*K*(K+1)))*T-(3*N*(K+1))
660  PRINT 
670  T1=INT(T1*100+.05)/100
680  PRINT 
690  PRINT "STATISTICS FOR ";Q$;'10'10
700  PRINT "THE VALUE XR^2 FOR COMPARISON TO CHI SQ. IS = ";T1
710  PRINT "DEGREES OF FREEDOM SHOULD BE ";(K-1)
720  END 
730  C1=C1+.5
740  GOTO 300
750  PRINT "INPUT DATA IN ROW OR RANKED FORM STARTING IN LINE 1000"
760  PRINT "EACH LINE SHOULD CONTAIN A LINE NUMBER , THE WORD   DATA   "
770  PRINT "AND THE DATA IN ROW ORDER."
9999  END 
