SUB CORREL(NR,NC) ON ERROR GOTO <> DIM #3,B(250,15) \ DIM R(15,15),NI(15,15),SUM(15,15),SS(15,15) H9=.9E-38 IF NC=1 THEN PRINT "YOU CANNOT COMPUTE A CORRELATION "; & "COEFFICIENT FOR ONLY ONE VARIABLE" \ RETURN PRINT \ PRINT \ & PRINT "CORRELATION MATRIX" \ PRINT " (NUMBER OF SUBJECTS)" \ & I9=0 <<*VR1>> I8=I9+1 \ & I9=I9+9 \ & IF I9>NC THEN I9=NC PRINT TAB(6); PRINT USING " VAR ##",I; FOR I=I8 TO I9 PRINT IF I9> PRINT MAT R=ZER MAT NI=ZER MAT SUM=ZER ISW=0 IS1=0 FOR I=1 TO NR FOR J=1 TO NC A=B(I,J) IF A=H9 GOTO <> FOR K=J TO NC IF J=K THEN NI(J,J)=NI(J,J)+1 \ GOTO <> C=B(I,K) IF C=H9 GO TO <> NI(J,K)=NI(J,K)+1 \ & IF NI(J,K)=1 THEN SUM(J,K)=A \ SUM(K,J)=C \ GOTO <> Y=NI(J,K) \ Z=Y/(Y-1.) \ SUM(J,K)=SUM(J,K)+A \ D=A-SUM(J,K)/Y \ & SUM(K,J)=SUM(K,J)+C \ C=C-SUM(K,J)/Y \ R(J,K)=R(J,K)+D*C*Z \ & SS(J,K)=SS(J,K)+D*D*Z \ SS(K,J)=SS(K,J)+C*C*Z <<*NK1>> NEXT K <<*NJ1>> NEXT J NEXT I FOR J=1 TO NC FOR K=J TO NC IF J=K THEN R(J,J)=1. \ GOTO <> NI(K,J)=NI(J,K) IF NI(J,K)<4 GOTO <> IF SS(J,K)> NEXT K PRINT "VAR";J; I9=0 <<*CLF>> I8=I9+1 \ & I9=I9+9 \ & IF I9>NC THEN I9=NC PRINT TAB(6); FOR K=I8 TO I9 IF R(J,K)=2. THEN IS1=1 \ PRINT SPACE$(4);"###"; \ GO TO <> IF NI(J,K)<4 THEN PRINT SPACE$(4);"***"; \ ISW=1 ELSE & PRINT USING " ##.###",R(J,K); <<*NK3>> NEXT K PRINT PRINT TAB(6); PRINT USING " (###)",NI(J,K); FOR K=I8 TO I9 PRINT \ PRINT IF I9> NEXT J IF ISW=1 THEN PRINT \ PRINT "*** = INSUFFICIENT DATA" IF IS1=1 THEN PRINT \ PRINT "### = ALL VALUES IN ONE COLUMN "; & "ARE THE SAME" \ PRINT " YOU CANNOT CALCULATE "; & "THE CORRELATION COEFFICIENT" PRINT \ PRINT GOTO <> <<*ERC>> PRINT \ PRINT "CALCULATIONS CANNOT BE COMPLETED BECAUSE COMPUTATION"+ & " CREATED NUMBERS" \ PRINT "OUTSIDE THE RANGE OF THIS COMPUTER" \ & PRINT \ PRINT "CORREL ERROR";ERR;" AT LINE";ERL \ PRINT \ & PRINT "PLEASE RECORD THE ABOVE LINE AND CONTACT JOHN PENN IN BR "+ & "AT 3886" \ PRINT RESUME <> <<*SCE>> SUBEND