1 ! PROGRAM DISC, VERSION 1A (31-AUG-73) ! 2 ! PROGRAM DISC IS THE CONTROL PROGRAM FOR DISCRIMINANT ANALYSIS. ! 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 ! 20 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 100 OPEN "DAT1"+FNZ$ AS FILE 1 115 OPEN "DISC2"+FNZ$ AS FILE 2 120 OPEN L1$(1%) FOR INPUT AS FILE 5% 130 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% 145 DIM#2,N2(50),M2(50),T9(0),L6(0),G9(0),L1(0) 150 DIM #5%, N$(50%)=8%,M1$(50%)=64%,O%(50%),P%(50%),D$(50%)=8%, T(50%),D(10000%) 160 DEF FNR(Q):INPUT Z$:Q=INSTR(1,Z$,"SOS"):IF Q>0 THEN 205 175 Q=VAL(Z$):GOTO 220 190 GOTO 220 205 Q=808 220 FNR=Q:FNEND 235 PRINT :PRINT"THIS PROGRAM COMPUTES MULTIPLE GROUPS DISCRIMINANT" " FUNCTION." : PRINT : PRINT "HOW MANY GROUPS ARE THERE"; 250 G9=FNR(Q) 265 IF G9<>N6(0) THEN 325 280 PRINT:PRINT"SPECIFY THE NUMBER OF GROUPS OF DATA IN YOUR INPUT DATA" 295 PRINT" DATA MUST BE PRE-CLASSIFIED INTO GROUPS." 310 GOTO 235 325 IF M9(0)>=G9 THEN 370 340 PRINT:PRINT"THE NUMBER OF GROUPS CANNOT BE GREATER THAN THE NUMBER" 355 PRINT"OF VARIABLES. TRY AGAIN.":GOTO 235 370 PRINT:PRINT"SPECIFY THE NUMBER OF CASES IN EACH OF THE "G9" GROUPS." " *" 375 FOR I=1 TO G9 : PRINT "GROUP NO.";I; : INPUT N2(I) : NEXT I 400 T9=0 415 FOR I=1 TO G9:T9=T9+N2(I):NEXT I 430 IF N(0)>=T9 THEN 475 445 PRINT:PRINT"THE TOTAL OF THE NUMBERS YOU JUST SPECIFIED EXCEEDS THE NUMBER OF CASES" 460 PRINT"IN YOUR DATA MATRIX. SPECIFY THE NUMBERS AGAIN.":GOTO 370 475 PRINT:PRINT"DO YOU WISH TO INCLUDE ALL";M9(0)" VARIABLES IN THE ANALYSIS"; 490 INPUT N$ 505 IF N$="YES" THEN 685 520 IF N$<>"SOS" THEN 565 535 PRINT:PRINT"ANSWER 'NO' IF YOU DO NOT WANT TO INCLUDE CERTAIN VARIABLES." 550 GOTO 475 565 PRINT:PRINT"HOW MANY VARIABLES DO YOU WISH TO INCLUDE";:L6=FNR(Q) 580 IF L6<>N6(0) THEN 610 595 PRINT:PRINT"THE TOTAL NUMBER OF VARIABLES TO BE INCLUDED":GOTO 565 610 IF M9(0)>=L6 THEN 655 625 PRINT:PRINT"YOU DO NOT HAVE "L6" VARIABLES . TRY AGAIN." 640 GOTO 565 655 PRINT:PRINT"SPECIFY THESE "L6" VARIABLES. *" 660 FOR J=1 TO L6 : M2(J)=FNC%("VAR. "+NUM$(J)) : NEXT J 670 GOTO 730 685 L6=M9(0) 700 FOR I=1 TO L6 715 M2(I)=I:NEXT I 730 L6(0)=L6:T9(0)=T9:G9(0)=G9 745 S$=" DISC 0775" 760 K$=SYS(CHR$(8%)+S$) : CLOSE 1%,2%,5% : CHAIN "DFQS" 775 OPEN "DAT1"+FNZ$ AS FILE 1 790 OPEN "DISC2"+FNZ$ AS FILE 2 805 PRINT:PRINT"DO YOU WISH TO PERFORM MORE ANALYSIS WITH A DIFFERENT VARIABLE SET"; 820 INPUT N$ 835 IF N$="YES" THEN 235 850 IF N$<>"SOS" THEN 895 865 PRINT:PRINT"THE ORIGINAL SET OF VARIABLES IS STILL RETAINED,YOU CAN REPEAT THIS" 880 PRINT"ANALYSIS MANY TIMES.":GOTO 805 895 S$=" COSAP 0640" : K$=SYS(CHR$(8)+S$) : KILL"DISC2"+FNZ$ : CLOSE 1,5% 910 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