CLS 1 PRINT "THIS IS A PERMUTATION TEST FOR EQUALITY OF MEANS OF MORE THAN" 2 PRINT "TWO SAMPLES BASED ON THE ONE WAY ANALYSIS OF VARIANCE TEST STATISTIC." 10 PRINT "THE DATA FILE SHOULD BE AN ASCII FILE LISTING IN ORDER THE NUMBERS" 16 PRINT "OF THE FIRST SAMPLE, FOLLOWED BY THOSE OF THE SECOND, ETC." 17 PRINT "BUT THIS IS BASED ON ABSOLUTE VALUES, NOT SQUARES." 18 INPUT "DO YOU HAVE SUCH A FILE IN THIS SUBDIRECTORY NOW (Y/N)?";RESPONSE$ IF RESPONSE$ = "N" THEN 830 IF RESPONSE$ = "n" THEN 830 CLS 20 INPUT "THE FILENAME IS ";DATAFILE$ 80 INPUT "THE NUMBER OF SAMPLES IS";S 90 INPUT "THE LARGEST OF THE SAMPLE SIZES IS";M 100 DIM XBAR(S), N(S), X(S,M), SUM(S) 105 DIM XX(S,M), Q(S), XXBAR(S) 110 SUM = 0 120 N = 0 125 OPEN DATAFILE$ FOR INPUT AS #1 130 FOR I = 1 TO S 140 PRINT "ENTER THE SIZE OF SAMPLE #";I 150 INPUT N(I) 160 SUM(I) = 0 170 FOR J = 1 TO N(I) 180 INPUT #1, X(I,J) 190 SUM(I) = SUM(I) + X(I,J) 200 NEXT J 210 XBAR(I) = SUM(I)/N(I) 220 SUM = SUM + SUM(I) 230 N = N + N(I) 240 NEXT I 241 CLOSE #1 242 DIM Z(N), M(N), YY(N) 250 NUM = 0 270 FOR I = 1 TO S 280 NUM = NUM + ABS(XBAR(I) - SUM/N) 340 NEXT I 350 F = NUM 351 Print "The value of the F-statistic is";F;"." 352 OPEN DATAFILE$ FOR INPUT AS #2 354 FOR I = 1 TO N 355 INPUT #2, Z(I) 356 NEXT I 'Z(1) TO Z(N) ARE THE VALUES FROM ALL THE SAMPLES. 357 CLOSE #2 PRINT 358 PRINT "HOW MANY REPLICATIONS DO YOU WISH?" 359 INPUT R 360 RANDOMIZE TIMER 380 Q(0) =0 382 FOR J = 1 TO S 384 Q(J) = Q(J-1) + N(J) 386 NEXT J ' FOR EACH J, Q(J) = N(1) + ... + N(J) 387 COUNT = 0 388 FOR L = 1 TO R 'R IS DEFINED ON LINE 359 390 FOR I = 1 TO N 400 M(I) = I 410 NEXT I 420 FOR I = 1 TO N 430 Z = INT(RND*(N - I + 1)) + 1 440 SWAP M(Z),M(N - I + 1) 450 NEXT I 470 'NOW TO PERMUTE THE DATA IN THE ORDER OF M(1),...M(N) 480 FOR I = 1 TO N 490 YY(I) = Z(M(I)) 'THIS PERMUTES ALL N NUMBERS IN THE DATAFILE. 500 NEXT I 510 FOR I = 1 TO S 520 FOR J = 1 TO N(I) 530 XX(I,J) = YY(Q(I-1) + J) 'SN(0) HAS ALREADY BEEN ENTERED. 540 NEXT J 550 NEXT I 610 FOR I = 1 TO S 620 SUM(I) = 0 630 FOR J = 1 TO N(I) 640 SUM(I) = SUM(I) + XX(I,J) 650 NEXT J 660 XXBAR(I) = SUM(I)/N(I) 670 NEXT I 680 NUM = 0 700 FOR I = 1 TO S 710 NUM = NUM + ABS(XXBAR(I) - SUM/N) 770 NEXT I 780 FF = NUM 790 IF FF => F - 10^(-6) THEN COUNT = COUNT + 1 800 NEXT L 810 RF = COUNT/R 820 PRINT "THE EMPIRICAL P-VALUE IS";RF;"." PRINT 822 FOR I = 1 TO S 624 PRINT "XBAR(";I;") =";XBAR(I);"." 826 NEXT I 830 END