1 REM **** HP BASIC PROGRAM LIBRARY ******************************* 2 REM 3 REM STAT19: KRUSKAL-WALLIS ONE WAY ANALYSIS OF VARIANCE 4 REM 5 REM 36607 REV A 6/73 6 REM 7 REM **** CONTRIBUTED PROGRAM ************************************ 10 REM PROGRAM FOR KRUSKAL-WALLIS ONE-WAY ANALYSIS OF VARIANCE 20 REM BY LARRY ROBBINS --BABSON COLLEGE 30 T=T1=T2=T3=0 40 PRINT "TOTAL NUMBER OF OBSERVATIONS "; 50 INPUT N 60 PRINT "NUMBER OF SAMPLES "; 70 INPUT K 80 DIM A[50,10],B[50,10],D[75],E[75] 90 PRINT '10'10'10 100 PRINT " YOUR ANSWER WILL TAKE A FEW MINUTES..." 110 PRINT " PLEASE WAIT..........." 120 PRINT '10'10'10 130 MAT A=ZER[50,K] 140 MAT B=ZER[52,K] 150 MAT D=ZER[N+1] 160 MAT E=ZER[N+1] 170 FOR X1=1 TO K 180 READ C 190 FOR X2=1 TO C 200 READ A[X2,X1] 210 NEXT X2 220 NEXT X1 230 X3=0 240 FOR X2=1 TO K 250 FOR X1=1 TO 50 260 IF A[X1,X2]=0 THEN 300 270 X3=X3+1 280 D[X3]=A[X1,X2] 290 NEXT X1 300 NEXT X2 310 FOR X4=1 TO N 320 IF D[X4]>D[X4+1] THEN 350 330 NEXT X4 340 GOTO 390 350 X5=D[X4] 360 D[X4]=D[X4+1] 370 D[X4+1]=X5 380 GOTO 310 390 FOR X1=1 TO N 400 D[X1]=D[X1+1] 410 E[X1]=X1 420 NEXT X1 430 D[N+1]=E[N+1]=0 440 X7=0 450 X7=X7+1 460 IF X7 >= N THEN 580 470 IF D[X7]=D[X7+1] THEN 490 480 GOTO 450 490 X8=X7 500 X8=X8+1 510 IF D[X8]=D[X8+1] THEN 500 520 X9=(X7-1)+((((X8-X7)+1)/2)+.5) 530 FOR J=X7 TO X8 540 E[J]=X9 550 NEXT J 560 X7=X8 570 GOTO 450 580 FOR X1=1 TO K 590 FOR X2=1 TO 50 600 IF A[X2,X1]=0 THEN 660 610 FOR X3=1 TO N+1 620 IF A[X2,X1]=D[X3] THEN 640 630 NEXT X3 640 B[X2,X1]=E[X3] 650 NEXT X2 660 NEXT X1 670 FOR X1=1 TO K 680 FOR X2=1 TO 50 690 IF B[X2,X1]=0 THEN 720 700 B[51,X1]=B[51,X1]+B[X2,X1] 710 NEXT X2 720 NEXT X1 730 X=0 740 T=0 750 X=X+1 760 IF X >= N THEN 910 770 IF D[X]=D[X+1] THEN 750 780 FOR X1=1 TO K 790 FOR X2=1 TO 50 800 IF A[X2,X1]=0 THEN 830 810 IF A[X2,X1]=D[X] THEN 850 820 NEXT X2 830 NEXT X1 840 GOTO 870 850 GOTO 880 860 GOTO 820 870 IF T=1 THEN 740 880 T1=((T^3)-T) 890 T3=T3+T1 900 GOTO 740 910 IF T3=0 THEN 940 920 T2=1-((T3)/((N^3)-N)) 930 GOTO 950 940 T2=1-(0/((N^3)-N)) 950 B=0 960 FOR J=1 TO K 970 FOR G=1 TO 50 980 IF B[G,J]=0 THEN 1000 990 NEXT G 1000 B[50,J]=G-1 1010 NEXT J 1020 FOR J=1 TO K 1030 B=B+((B[51,J]^2)/B[50,J]) 1040 NEXT J 1050 H=(12/(N*(N+1)))*(B)-(3*(N+1)) 1060 H=H/T2 1070 PRINT "DO YOU WANT TO SEE THE RANKED SCORES???"; 1080 DIM A$[5] 1090 INPUT A$ 1100 IF A$="NO" THEN 1430 1110 PRINT '10'10'10" RANKED SCORES"'10'10'10 1120 Z=0 1130 FOR J=1 TO K 1140 Z=B[50,J] MAX Z 1150 NEXT J 1160 DIM C[1,20] 1170 MAT C=ZER[1,K] 1180 FOR X1=1 TO K 1190 C[1,X1]=X1 1200 NEXT X1 1210 MAT PRINT USING "3D.1D3X";C 1220 PRINT "----------------------------------------------------------------------"'10 1230 FOR X1=1 TO Z 1240 FOR X2=1 TO K 1250 C[1,X2]=B[X1,X2] 1260 NEXT X2 1270 MAT PRINT USING "3D.1D3X";C 1280 NEXT X1 1290 PRINT 1300 PRINT "NO. OF NO'S IN COLUMN" 1310 FOR X2=1 TO K 1320 C[1,X2]=B[50,X2] 1330 NEXT X2 1340 MAT PRINT USING "3D.1D3X";C 1350 PRINT 1360 PRINT "SUM OF NO'S IN COLUMN" 1370 FOR X2=1 TO K 1380 C[1,X2]=B[51,X2] 1390 NEXT X2 1400 MAT PRINT USING "4D.1D2X";C 1410 PRINT 1420 PRINT 1430 PRINT "THE VALUE OF H TO BE COMPARED TO CHI SQUARE IS";H 1440 PRINT "DEGREES OF FREEDOM ARE ";K-1 1450 END 2000 DATA 10,2,2.8,3.3,3.2,4.4,3.6,1.9,3.3,2.8,1.1 2010 DATA 8,3.5,2.8,3.2,3.5,2.3,2.4,2,1.6 2020 DATA 10,3.3,3.6,2.6,3.1,3.2,3.3,2.9,3.4,3.2,3.2 2030 DATA 8,3.2,3.3,3.2,2.9,3.3,2.5,2.6,2.8 2040 DATA 6,2.6,2.6,2.9,2,2,2.1 2050 DATA 4,3.1,2.9,3.1,2.5 2060 DATA 6,2.6,2.2,2.2,2.5,1.2,1.2 2070 DATA 4,2.5,2.4,3,1.5 9999 END