10 DEF FNFACT# (NUMB) = .5 * LOG(2 * NUMB * 3.14159) + NUMB * LOG(NUMB / 2.718282) 20 CLS : COUNT = 0 30 PRINT " STATISTICAL ECOLOGY: A PRIMER ON METHODS AND COMPUTING" 35 PRINT 40 PRINT " I N T E R A C T I V E B A S I C P R O G R A M " 50 PRINT "" 60 PRINT " R A R E F R A C . B A S " 70 PRINT "": PRINT "" 80 PRINT " --------------------------------------------------------" 90 PRINT " RAREFACTION METHOD TO CALCULATE THE NUMBER OF SPECIES " 100 PRINT " EXPECTED FROM DIFFERENT COMMUNITIES IF " 110 PRINT " ALL SAMPLES ARE REDUCED TO A STANDARD SIZE " 120 PRINT " --------------------------------------------------------" 130 PRINT " The best measure of SPECIES RICHNESS is to make DIRECT " 140 PRINT " COUNTS of Species Numbers in SAMPLES of EQUAL SIZE. " 150 PRINT " However, sample sizes are usually NOT EQUAL. The " 160 PRINT " method of RAREFRACTION may be used to help overcome " 170 PRINT " the incompatibility of UNEQUAL SAMPLES SIZES " 180 PRINT " from various COMMUNITIES. " 190 PRINT " --------------------------------------------------------" 200 FOR I = 1 TO 3: PRINT "": NEXT I 210 PRINT "PRESS ANY KEY TO CONTINUE" 220 IF INKEY$ = "" THEN 220 230 CLS 240 PRINT "- - - - - - - - - - - - -PART I. DATA ENTRY- - - - - - - - - - - - -" 250 PRINT 260 PRINT "This program requires the following type of INPUT DATA:": PRINT 270 PRINT " EXAMPLE 1: Oak-beech forest in Maryland (James & Rathbun 1981)" 280 PRINT " Total # of bird SPECIES (S) Observed = 24 " 290 PRINT " Total # of INDIVIDUALS (N) Observed = 101 " 300 PRINT " Distribution of the 101 INDIVIDUALS between the 24 SPECIES=" 310 PRINT " DATASET: [17 13 12 7 7 6 6 4 3 3 3 2 2 2 2 2 2 1 1 1 1 1 1 1]" 320 PRINT " " 330 PRINT " EXAMPLE 2: Fish catch data for a north Florida estuary (from " 340 PRINT " Livingston 1976). " 350 PRINT " Total # of fish SPECIES (S) Observed = 20 " 360 PRINT " Total # of INDIVIDUALS (N) Observed = 761 " 370 PRINT " Distribution of the 761 INDIVIDUALS between the 20 SPECIES=" 380 PRINT " DATASET: [10,3,278,1, ... , 25,29,50,1 -see Table 8.3]" 390 PRINT " " 400 INPUT "INPUT Total # of SPECIES......."; S 410 DIM NI(S) 420 PRINT : PRINT "INPUT Abundance Data for EACH Species:" 430 PRINT "SPECIES # INDIVIDUALS" 440 PRINT "------- ------------- " 450 MAXN = 0: N = 0: FOR I = 1 TO S 460 PRINT USING "####"; I; : INPUT " ", NI(I) 470 N = N + NI(I) 480 IF NI(I) > MAXN THEN MAXN = NI(I) 490 NEXT I 500 REM COMPUTE VALUES OF SAMPLE SIZES (n) 510 CLS 520 PRINT "-----------------PART II. COMPUTE RAREFRACTION CURVE --------------------" 530 PRINT : PRINT "For a COMMUNITY of "; S; "Species and"; N; "Individuals": PRINT 540 GOSUB 990 550 FOR LN = 0 TO 50 STEP 5 560 GOSUB 850 570 NEXT LN 580 PRINT : INPUT "INPUT specific values of 'n' to compute E(Sn) ? (Y/N) "; AJO$ 590 IF AJO$ = "n" OR AJO$ = "N" THEN END ELSE GOSUB 660 600 GOSUB 990 610 COUNT = COUNT + 1: INPUT " "; LN: IF LN < 1 THEN END 620 GOSUB 860 630 IF COUNT > 9 THEN GOSUB 990: COUNT = 0 640 GOTO 610 650 END 660 REM-------------SUBROUTINE FOR PRINTING---------------------------------- 670 CLS 680 PRINT 690 PRINT " | * * * " 700 PRINT " | * " 710 PRINT " | " 720 PRINT " Program generates E(Sn) | * " 730 PRINT " | You input values" 740 PRINT " | * / of n " 750 PRINT " ---------------------------------" 760 PRINT " 10 20 30 40 50 " 770 PRINT " Sample Size (n) " 780 PRINT " NOTE # 1: INPUT a '0' TO STOP" 790 PRINT " NOTE # 2: The values of 'n' that you can enter into Eq. 8.3" 800 PRINT " must be < {N-max(Ni)}, where Ni is the number of " 810 PRINT " individuals of the ith species. For the current " 820 PRINT " data, n should be <"; N - MAXN 830 PRINT 840 RETURN 850 REM-------------SUBROUTINE FOR COMPUTING E(Sn)--------------------- 860 ES = 0 870 N1 = N - LN 880 N2 = N 890 FOR I = 1 TO S 900 N3 = N - NI(I) 910 N4 = N - NI(I) - LN 920 IF N3 <= 0 OR N4 <= 0 OR N1 <= 0 THEN GOTO 975 930 E# = FNFACT#(N3) + FNFACT#(N1) - FNFACT#(N4) - FNFACT#(N2) 940 ES = ES + (1 - EXP(E#)) 950 NEXT I 960 PRINT TAB(7); LN; 970 ES = CINT(ES): PRINT TAB(23); ES 972 GOTO 980 975 IF AJO$ = "Y" OR AJO$ = "y" THEN PRINT " n must be <"; N - MAXN 980 RETURN 990 REM -----------SUBROUTINE FOR PRINTING--------------------------- 1000 PRINT " Sample Size Expected # " 1010 PRINT " (n) Species, E[Sn]" 1020 PRINT " ----------- -----------------" 1030 RETURN