10  COM Q$[3],C1,I1,I2,I3,I4
11  REM ******           HP TIME SHARED BASIC            ********************
12  REM ******            TSAP3: CORRELATION             ********************
13  REM ******                                           ********************
14  REM ******        CONTRIBUTED PROGRAM - IOWA         ********************
15  REM ******           J. KOLP, J. HEMINGWAY           ********************
20  FILES $tsapf
30  IF Q$="NO" THEN 190
40  IF I3=1 THEN 190
50  PRINT "PEARSON PRODUCT MOMENT CORRELATION (r) IS A MATHEMATICAL"
60  PRINT "EXPRESSION OF THE RELATIONSHIP BETWEEN TWO VARIABLES."
70  PRINT "THE CORRELATION COEFFICIENT VARIES BETWEEN +1.00 AND"
80  PRINT "-1.00.  AN r=0 MEANS THAT TWO VARIABLES HAVE NO"
90  PRINT "RELATIONSHIP TO EACH OTHER.  VARIATIONS IN VALUES OF ONE"
100  PRINT "VARIABLE ARE UNRELATED TO THE VALUES OF THE OTHER"
110  PRINT "VARIABLE.  AN r=+1.00 MEANS THAT THE TWO VARIABLES"
120  PRINT "HAVE A PERFECT POSITIVE RELATIONSHIP; AN r=-1.00"
130  PRINT "MEANS PERFECT NEGATIVE RELATIONSHIP."
160  PRINT "YOU CAN PICK TWO VARIABLES FOR CORRELATION, PLUS CHOOSING"
170  PRINT "AMONG THE DATA SELECTION CRITERIA.  YOU WILL BE"
180  PRINT "PROMPTED FOR THE VARIABLES AND DATA SELECTION CRITERIA."
190  I3=1
200  IF  END #1 THEN 1220
210  DIM N$[45],C$[8],A$[4],S$[22]
220  DIM D[14]
230  DIM K[15]
240  DIM C[14]
250  DIM V$[8],Z$[8]
260  READ #1,1;Q9,N$
270  PRINT "WHAT IS THE FIRST VARIABLE";
280  F4=1
290  INPUT C$
300  V$=C$
310  W1=W2=0
320  N=0
330  T=0
340  E5=1
350  F4=1
360  S1=S2=S3=S4=S5=0
370  FOR I=1 TO 45 STEP 3
380  W1=W2=W1+1
390  IF C$[1,3]=N$[I,I+2] THEN 580
400  NEXT I
410  PRINT "THAT'S NOT A VARIABLE NAME.  PLEASE TRY AGAIN."
420  GOTO 270
430  PRINT "WHAT IS THE SECOND VARIABLE";
440  F4=2
450  INPUT C$
460  Z$=C$
470  W2=0
480  FOR I=1 TO 45 STEP 3
490  W2=W2+1
500  IF C$[1,3]=N$[I,I+2] THEN 630
510  NEXT I
520  PRINT "THAT'S NOT A VARIABLE NAME.  PLEASE TRY AGAIN."
530  GOTO 430
540  PRINT "WHICH DATA SELECTION CRITERION DO YOU WANT";
550  F4=3
560  INPUT S$
570  GOTO 720
580  FOR Y2=1 TO Q9
590  READ #1;A$,B
600  MAT  READ #1;D
610  READ #1;Q
620  IF F4=4 THEN 720
630  IF C$[1,3]="RAI" THEN 710
640  IF C$[1,3]="EXP" THEN 720
650  IF C$[1,3]="MAN" THEN 720
660  IF C$[1,3]="FOR" THEN 720
670  IF C$[1,3]="FAR" THEN 720
680  IF C$[1,3]="LAN" THEN 720
690  IF C$[1,3]="IMP" THEN 720
700  GOTO F4 OF 430,540,750,1210
710  IF B<85 THEN 1210
720  IF D[W1]=0 OR D[W2]=0 THEN 740
740  GOTO F4 OF 430,540,750,1210
750  IF S$[1,4]="NONE" THEN 1090
760  IF S$[1,5]="STATE" THEN 1060
770  IF S$[1,5]="YEARS" THEN 900
780  IF S$[9,11]="AND" THEN 800
790  GOTO 810
800  E5=2
810  IF S$[1,5]#"SECTN" THEN 1110
820  IF S$[7,7]="1" THEN 850
830  Y=2
840  GOTO E5 OF 1080,890
850  Y=1
860  GOTO E5 OF 1080,890
870  IF A$#S$[7,10] THEN 1210
880  GOTO 1150
890  DIM K$[10]
900  K$="1234567890"
910  K0=0
920  FOR R=1 TO 0 STEP -1
930  FOR S=1 TO 10
940  IF E5=1 THEN 970
950  R0=21-(R*1)
960  GOTO 980
970  R0=9-(R*1)
980  IF S$[R0,R0]#K$[S,S] THEN 1020
990  IF S=10 THEN 1030
1000  K0=S*(10^R)+K0
1010  GOTO 1030
1020  NEXT S
1030  NEXT R
1040  IF B#K0 THEN 1210
1050  GOTO E5 OF 1090,1080
1060  IF A$=S$[7,10] THEN 1090
1070  GOTO 1210
1080  IF Q#Y THEN 1210
1090  N=N+1
1100  GOTO 1160
1110  PRINT "INVALID.  PLEASE TRY AGAIN."
1120  GOTO 540
1130  REM
1140  REM
1150  REM
1160  LET S1=S1+D[W1]
1170  LET S2=S2+D[W2]
1180  LET S3=S3+(D[W1]^2)
1190  LET S4=S4+(D[W2]^2)
1200  LET S5=S5+(D[W1]*D[W2])
1210  NEXT Y2
1220  LET A1=S1/N
1230  LET A2=S2/N
1240  LET V1=(S3-(N*(A1^2)))/(N-1)
1250  LET V2=(S4-(N*(A2^2)))/(N-1)
1260  LET D1=SQR(V1)
1270  LET D2=SQR(V2)
1280  LET D0=(N*S3)-(S1^2)
1290  LET I9=((S2*S3)-(S1*S5))/D0
1300  LET S9=((N*S5)-(S1*S2))/D0
1310  LET P9=((S9^2)*V1)/V2
1320  IF S9<0 THEN 1350
1330  LET C9=SQR(P9)
1340  GOTO 1360
1350  LET C9=SQR(P9)*(-1)
1360  PRINT "N =   ";N
1370  PRINT "THE CORRELATION COEFFICIENT FOR "V$" WITH "Z$
1380  PRINT "WITH A DATA SELECTION CRITERION OF "S$
1390  PRINT "EQUALS  ";C9
1400  CHAIN "$tsap",880
1410  END 
