1 ! PROGRAM PROB, VERSION 1A (31-AUG-73) ! 2 ! PROGRAM PROB COMPUTES PROBIT COEFFICIENTS AND CHI-SQUARE ON ALPHA. ! IT IS ONE OF THE SEVERAL PROGRAMS AND FILES WHICH COMPOSE COSAP, ! LAWRENCE UNIVERSITY'S CONVERSATIONALLY ORIENTED STATISTICAL 3 ! ANALYSIS PACKAGE. COSAP IS DISTRIBUTED FOR EDUCATIONAL USE, ON ! THE CONDITION THAT IT NOT BE SOLD, RENTED OR LEASED FOR PROFIT. ! 4 ! IF YOU DESIRE FURTHER INFORMATION ABOUT COSAP, PLEASE CONTACT THE ! LAWRENCE UNIVERSITY COMPUTER CENTER, APPLETON, WISCONSIN 54911. ! 10 DIM N%(30) ! FUNCTION TO CREATE FILE EXT. BASED ON JOB# 25 DEF FNZ$ : IF N%(0)=30% THEN 40 ELSE CHANGE SYS(CHR$(6)+CHR$(9)+CHR$(0)) TO N% : Z8$=".J"+RIGHT(NUM$(N%(1)/2%),2%) 40 FNZ$=Z8$! EXTENSION IS".J"+JOB # 55 FNEND 70 !****PROB 85 OPEN "DAT1"+FNZ$ AS FILE 1 100 DIM#1,X(200,50),H$(30)=2,C(50,50),M4(0),M5(0),M9(0),N(0),J9(0), I4(0),I7(0),N6(0),X2(50),L1$(8)=32% 115 OPEN "PROB1"+FNZ$ AS FILE 2 120 OPEN L1$(1%) FOR INPUT AS FILE 5% 130 DIM#2,Y2(200),W1(200),W2(200),A(0),B(0),V3(0),S7(0),T7(0),R7(0) 135 DIM #5%, N$(50%)=8%,M1$(50%)=64%,O%(50%),P%(50%),D$(50%)=8%, T(50%),D(10000%) 145 DEF FNR(Q):INPUT Z$:Q=INSTR(1,Z$,"SOS"):IF Q>0 THEN 190 160 Q=VAL(Z$):GOTO 205 175 GOTO 205 190 Q=808 205 FNR=Q:FNEND 210 PRINT:PRINT"THIS PROGRAM COMPUTES PROBIT COEFFICIENTS AND CHI-" "SQUARE ON ALPHA." 220 PRINT:PRINT"ENTER THE NAMES OF THE VARIABLES FOR STIMULI LEVELS, " "OBJECTS TESTED,":PRINT"AND OBJECTS RESPONDING *":PRINT 240 S7=FNC%("NAME OF STIMULI LEVELS VARIABLE") : T7=FNC%("NAME OF OBJECTS TESTED VARIABLE") : R7=FNC%("NAME OF OBJECTS RESPONDING VARIABLE") 250 IFM9(0)=R7 THEN 355 285 PRINT : PRINT "THE THREE VARIABLES ARE:" 310 PRINT "LEVELS OF A STIMULI TESTED, NUMBER OF OBJECTS TESTED" 325 PRINT"AT RESPECTIVE LEVELS AND NUMBER OF OBJECTS RESPONDING." 340 GOTO 220 355 PRINT:PRINT"DO YOU WISH TO TRANSFORM THE STIMULI LEVELS TO COMMON LOG"; 370 INPUT N$:IF N$="YES" THEN 460 385 IF N$<>"SOS" THEN 430 400 PRINT:PRINT"A BETTER ESTIMATE OF PROBIT REGRESSION MAY BE OBTAINED" 415 PRINT"WHEN DATA IS TRANSFORMED TO COMMON LOG":GOTO 355 430 FOR I=1 TO N(0):Y2(I)=X(I,S7):NEXT I 445 GOTO 535 460 FOR I=1 TO N(0) 475 IF X(I,S7)>0 THEN 505 490 Y2(I)=0 :GOTO 520 505 Y2(I)=LOG10(X(I,S7)) 520 NEXT I 535 FOR I=1 TO N(0) 550 IF X(I,T7)>=X(I,R7) THEN 595 565 PRINT:PRINT"NUMBER OF OBJECTS RESPONDING IS GREATER THAN NUMBER" 580 PRINT"OF OBJECTS TESTED. PROBLEM TERMINATED!!!!":GOTO 1120 595 W1(I)=X(I,R7)/X(I,T7) 610 NEXT I 625 S7(0)=S7:T7(0)=T7:R7(0)=R7 640 CLOSE 1,2,5% 655 S$=" PROB 0685":K$=SYS(CHR$(8)+S$) 670 CHAIN "FQEQ" 685 OPEN "DAT1"+FNZ$ AS FILE 1 700 OPEN "PROB1"+FNZ$ AS FILE 2 705 OPEN L1$(1%) FOR INPUT AS FILE 5% 715 A=A(0):B=B(0):V3=V3(0) 730 PRINT:PRINT"THE EQUATION OF PROBIT ANALYSIS IS Y=A+B*X AND" 745 PRINT"COMPUTED VALUE OF A=";A" B=";B" SPECIFIED VALUE OF C=";V3 760 PRINT:PRINT"ESTIMATES OF THE MEAN AND STANDARD DEVIATION OF" 775 PRINT"THE TRANSFORMED DOSE TOLERANCE ARE...." 790 R7=R7(0):LETT7=T7(0):S7=S7(0) 805 D=(5-A)/B:P=1/B 820 PRINT TAB(10);"MEAN......."D 835 PRINT TAB(10);"STD.DEV...."P 850 PRINT:PRINT"X (STIMULUS) N R P=R/N Y ESTIMATE" 865 F$="#######.### #### ##### #####.### ########.###" 880 FOR I=1 TO N(0):L=X(I,T7):M=X(I,R7) 895 PRINTUSINGF$,Y2(I),L,M,W1(I),W2(I) 910 NEXT I 925 C6=0 940 FOR I=1 TO N(0) 955 Y=W2(I)-5: A8=ABS(Y):T=1/(1+.2316419*A8) 970 D=.3989423*EXP(-Y*Y/2) 985 T1=.3193815*T:T2=.3565638*T^2:T3=1.781478*T^3 1000 T4=1.821256*T^4:T5=1.330274*T^5 1015 P=1-D*(T1-T2+T3-T4+T5) 1030 IF Y>=0 THEN 1060 1045 P=1-P 1060 D=X(I,T7)*P:A2=X(I,R7)-D:D2=D*(1-P):LET C6=C6+A2*A2/D2 1075 NEXT I 1090 D4=N(0)-2:PRINT 1105 PRINT"COMPUTED CHI-SQUARE FOR TEST OF LINEARITY ="C6" (D.F. =" D4")" 1120 PRINT:PRINT"DO YOU WISH TO PERFORM MORE PROBIT ANALYSIS ON THIS " "DATABANK"; 1135 INPUT N$:IF N$="YES" THEN 220 1150 IF N$<>"SOS" THEN 1180 1165 PRINT:PRINT"YOU MAY USE DIFFERENT VARIABLES":GOTO 1120 1180 KILL"PROB1"+FNZ$:CLOSE 1,5% :S$=" COSAP 0640":K$=SYS(CHR$(8)+S$) 1195 CHAIN "COSAP" 0640 30000 DEF FNC%(X$) ! FUNCTION TO TRANSLATE VARIABLE NAMES 30010 PRINT X$; UNLESS X$="" : INPUT V$ : IF V$="" THEN PRINT : PRINT "VARIABLE NAME NEEDED "; : GOTO 30010 30020 GOTO 30040 IF V$=N$(I%) FOR I%=1% TO O%(0%) 30025 IF LEFT(V$,3%)="SOS" THEN FNC%=808 : GOTO 30050 30030 PRINT "*NO SUCH VARIABLE* TRY AGAIN." : GOTO 30010 30040 FNC%=I% 30050 FNEND 32767 END