1 ! PROGRAM REGS, VERSION 1A (31-AUG-73) ! 2 ! PROGRAM REGS COMPUTES SIMPLE REGRESSIONS OF ONE VARIABLE ON ANOTHER ! 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$:FNEND !EXTENSION IS ".J"+JOB # 130 OPEN "DAT1"+FNZ$ AS FILE 1 135 OPEN L1$(1%) FOR INPUT AS FILE 5% 145 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% 150 DIM #5%,N$(50%)=8%,M1$(50%)=64%,O%(50%),P%(50%),D$(50%)=8%, T(50%),D(10000%) 160 OPEN "STEP1"+FNZ$ AS FILE 2% : DIM #2%,B(50%),O2(0),S2(0), Z2(50%,50%),M2(200%),M(0),L2(200%),B3(200%),N2(0) 175 DEF FNR(Q):INPUT Z$:Q=INSTR(1,Z$,"SOS"):IF Q>0 THEN 205 190 Q=VAL(Z$):GOTO 220 205 Q=808 220 FNR=Q:FNEND 225 PRINT:PRINT"THIS PROGRAM COMPUTES SIMPLE REGRESSIONS OF ONE " "VARIABLE ON ANOTHER." 235 PRINT:PRINT"WHAT IS THE NAME OF THE DEPENDENT VARIABLE"; 250 N2=FNC%("") 265 IF N2<>N6(0) THEN 325 280 PRINT:PRINT"THE DEPENDENT VARIABLE IS THE Y VARIABLE IN AN EQUATION" " OF THE FORM":PRINT"Y=A+B*X. TYPE THE NAME OF A VARIABLE IN YOUR " "DATABANK.": GOTO 235 325 PRINT:PRINT"WHAT IS THE NAME OF THE INDEPENDENT VARIABLE"; 385 M=FNC%("") 400 IF M<>N6(0) THEN 460 415 PRINT:PRINT"THE INDEPENDENT VARIABLE IS THE X VARIABLE IN AN " "EQUATION OF THE FORM":PRINT"Y=A+B*X. TYPE THE NAME OF A VARIABLE" " IN YOUR DATABANK.":GOTO 325 460 X4=C(M,M):X3=C(M,N2):B1=X3/X4:O2=X2(N2)-B1*X2(M):PRINT 520 PRINT"INTERCEPT................"O2 535 PRINT"REGRESSION COEFFICIENT..."B1 550 Y3=C(N2,N2):R=X3/SQR(X4*Y3):D1=R*R*Y3:D2=Y3-D1:E3=D2/(N(0)-2): S5=SQR(ABS(E3/X4)):T=B1/S5:PRINT 565 PRINT"STD.ERROR OF REG.COEF......."S5 580 PRINT"COMPUTED T-VALUE............"T 595 S2=SQR(ABS(E3)) 610 PRINT 625 PRINT"CORRELATION COEFFICIENT....."R 640 PRINT"STANDARD ERROR OF ESTIMATE.."S2 655 PRINT 670 PRINT TAB(18);"ANALYSIS OF VARIANCE FOR REGRESSION" 685 PRINT"SOURCE OF VARIATION D.F. SUM OF SQ. MEAN SQ. " "F-VALUE" 700 D4=1 715 F=D1/E3 730 F1$="#### ########.### ########.### ########.###" 745 PRINT"FROM REGRESSION "; 760 PRINT USING F1$,D4,D1,D1,F 775 D4=N(0)-2 790 PRINT"DEV. FROM REGRESSION"; 805 PRINT USING F1$,D4,D2,E3 820 D4=D4+1 835 T1=D1+D2 850 PRINT " TOTALS "; 865 PRINT USING F1$,D4,T1 880 M2(1)=M 885 N2(0)=N2 : O2(0)=O2 : B(1%)=B1 : M(0)=1 890 S2(0)=S2 910 I4(0)=3 920 CLOSE 2% 925 L1$(2%)=SYS(CHR$(7%)) : S$="REGS 0930" : K$=SYS(CHR$(8%)+S$) : CLOSE 1%,5% : CHAIN "RESI" 930 OPEN "DAT1"+FNZ$ FOR INPUT AS FILE 1% : OPEN L1$(1%) FOR INPUT AS FILE 5% : K$=SYS(CHR$(8%)+L1$(2%)) 940 I4(0)=0:PRINT:PRINT"DO YOU WANT TO PERFORM ANOTHER SIMPLE " "REGRESSION ON THIS":PRINT"DATABANK";:INPUT N$ 955 IF N$="YES" THEN 225 ELSE IF N$<>"SOS" THEN 985 970 PRINT:PRINT"ANSWER ''YES' IF YOU WANT TO DO ANOTHER REGRESSION " "USING OTHER":PRINT"VARIABLES FROM THIS DATABANK; IF YOU DO NOT, " "ANSWER 'NO'.":GOTO 940 985 K$=SYS(CHR$(7)):N$=LEFT(K$,8):S0=VAL(RIGHT(K$,9)):CLOSE 1 990 KILL "STEP1"+FNZ$ 1000 CLOSE 5% : CHAIN N$ S0 30000 DEF FNC%(X$) ! FUNCTION TO TRANSLATE VARIABLE NAMES 30010 PRINT X$ ; UNLESS X$="" : INPUT V$ : IF V$="" THEN PRINT : PRINT "VARIABLE 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 : GOTO30050 30030 PRINT "*NO SUCH VARIABLE* TRY AGAIN. " : GOTO 30010 30040 FNC%=I% 30050 FNEND 32767 END