10  COM X[103,22],M[19,19],U[19,19],Q[20],V[20],P[78]
30  COM M$[60],N$[72]
40  COM N,K,N8,K8,N9,K9,Q9,Q7,Q5,Q4,Q3,Q2,Q1
45  COM I3,I4,U9,X$[20]
50  REM* 26 SEP 74
52  REM:CHAINED FROM IDA17 TO FINISH Q1=1 >CATE;=3 >MOVE;=4 >DELV
80  DIM A$[6],B$[12],C$[12],E$[4],A[21],B[21]
90  Q[8]=Q[6]=17
100  GOTO Q1 OF 700,9998,1500,2000
699  REM:CREATE CATEG.VAR.
700  E$="CATE"
710  Z9=I3
720  FOR I=Q4 TO N
730  IF X[I,K9+2]=1 THEN 750
740  NEXT I
742  GOTO 9996
750  I8=I
760  N0=1
762  M1=M2=X[I8,Z9]
770  FOR I=I8+1 TO N
780  IF X[I,K9+2]=0 THEN 810
782  IF X[I,Z9]<M1 THEN 788
784  IF X[I,Z9]>M2 THEN 792
786  GOTO 800
788  M1=X[I,Z9]
790  GOTO 800
792  M2=X[I,Z9]
800  N0=N0+1
810  NEXT I
820  PRINT "THERE ARE"N0"ACTIVE OBSERVATIONS IN COL."I3;
830  IF Q3=1 THEN 840
832  PRINT " : "
834  GOTO 850
840  Z1=Z9
842  GOSUB 3900
844  PRINT "("C$")  : "
850  PRINT "MAX. ="M1" MIN. ="M2" MEAN ="X[N9+1,Z9]" STD.DEV. ="X[N9+2,Z9]
860  PRINT "HOW MANY CATEGORIES DO YOU WANT ";
862  INPUT K3
864  IF K3=0 THEN 9996
866  IF K3<21.1 THEN 870
868  PRINT "ONLY 21 OR FEWER CATEGORIES ALLOWED."
869  GOTO 9996
870  PRINT "LOWER LIMIT OF FIRST CATEGORY IS"M1
874  PRINT "FOR CATEGORY :"
880  FOR I=1 TO K3-1
882  PRINT I",PLEASE GIVE CATEGORY'S VALUE, UPPER LIMIT OF CATEGORY :";
884  INPUT B[I],A[I]
890  NEXT I
891  PRINT "UPPER LIMIT OF CATEGORY"I"IS"M2
892  PRINT "PLEASE GIVE VALUE OF CATEGORY"I;
894  INPUT B[K3]
900  A[K3]=M2
1000  FOR I=Q4 TO N
1010  IF X[I,K9+2]=0 THEN 1070
1020  FOR J=1 TO K3-1
1030  IF X[I,I3] <= A[J] THEN 1060
1040  NEXT J
1042  IF X[I,I3]>A[K3] THEN 1060
1060  X[I,I4]=B[J]
1070  NEXT I
1100  X[N9+3,I4]=X[N9+3,I3]
1110  IF I4>K9 THEN 9998
1130  I3=I4
1140  GOTO 9912
1500  E$="MOVE"
1510  J2=I4
1520  J1=I3
1530  PRINT "MOVING...";
1540  IF J1<K9 THEN 1700
1549  REM:MOVE SCR J1 TO DATA J2
1550  FOR I=1 TO N
1552  X[I,J2]=X[I,J1]
1554  X[I,J1]=0
1556  NEXT I
1560  FOR I=N9+1 TO N9+3
1562  X[I,J2]=X[I,J1]
1564  X[I,J1]=0
1566  NEXT I
1570  IF Q3=0 THEN 1580
1571  REM:PRINTOUT SCR J1 NAME
1572  Z1=J1
1574  GOSUB 3900
1575  PRINT 
1576  PRINT "NAME OF SCRATCH COLUMN #"J1-(K9+2)"WAS "C$
1580  B$="123456789"
1582  Z1=J1-(K9+2)
1584  C$="SCR.00"
1586  FOR I=1 TO P[63]
1588  IF I#Z1 THEN 1600
1590  IF I>9 THEN 1595
1591  C$[6,6]=B$[Z1,Z1]
1592  GOTO 1610
1595  C$[5,5]="1"
1596  Z1=Z1-10
1597  IF Z1=0 THEN 1610
1598  GOTO 1591
1600  NEXT I
1610  Z1=Z1+K9+2
1620  GOSUB 3950
1630  I3=I4=J2
1640  PRINT "COL."J1-(K9+2);
1650  GOTO 2355
1699  REM:MOVE DATA J1 TO SCRJ2
1700  FOR I=1 TO N9+3
1710  X[I,J2]=X[I,J1]
1720  FOR J=J1 TO K-1
1730  X[I,J]=X[I,J+1]
1740  NEXT J
1750  X[I,K]=0
1760  NEXT I
1770  IF Q3#1 THEN 2150
1779  REM:GIVE SCR.J2, NAME OF DATA J1
1780  Z1=J1
1790  GOSUB 3900
1792  Z1=J2
1794  GOSUB 3950
1796  GOTO 2072
2000  E$="DELV"
2002  J1=I3
2008  PRINT "DELETING...";
2010  FOR I=1 TO N9+3
2020  FOR J=J1 TO (K-1)
2030  X[I,J]=X[I,J+1]
2040  NEXT J
2050  X[I,K]=0
2055  NEXT I
2060  IF Q3#1 THEN 2116
2072  FOR J=J1 TO (K-1)
2080  Z1=J+1
2082  GOSUB 3900
2084  Z1=J
2086  GOSUB 3950
2100  NEXT J
2110  Z1=K
2112  C$="      "
2114  GOSUB 3950
2116  PRINT 
2117  IF K>1 THEN 2122
2118  GOTO 8000
2122  Z=X[N9+3,1]
2124  IF K>2 THEN 2130
2126  MAT M=ZER
2128  M[1,1]=1
2129  GOTO 2136
2130  FOR J=2 TO K-1
2132  Z=Z MAX X[N9+3,J]
2134  NEXT J
2136  Z=Z+1
2140  IF Q4=Z THEN 2150
2142  Q4=Z
2144  Q[3]=1
2146  PRINT "# OF UNDEFINED ROWS NOW"Q4-1
2150  IF Q[3]=1 THEN 2230
2152  FOR I=J1 TO K-1
2154  FOR J=1 TO K-1
2156  IF I<J THEN 2200
2160  IF J >= J1 THEN 2170
2162  M[I,J]=M[I+1,J]
2164  GOTO 2180
2170  M[I,J]=M[I+1,J+1]
2180  M[J,I]=M[I,J]
2190  NEXT J
2200  NEXT I
2210  FOR I=1 TO K
2212  M[I,K]=0
2214  NEXT I
2216  FOR J=1 TO K-1
2218  M[K,J]=0
2220  NEXT J
2230  K=K-1
2352  PRINT "COL."J1;
2355  PRINT "HAS BEEN ";
2360  GOTO Q1 OF 9998,9998,2370,2400
2370  PRINT "MOVED FROM THE ";
2372  IF J1>K9+2 THEN 2380
2374  PRINT "DATA MATRIX TO COL."J2-(K9+2)"OF THE SCRATCH PAD."
2376  GOTO 2402
2380  PRINT "SCRATCH PAD TO COL."J2" OF THE DATA MATRIX."
2390  GOTO 9912
2400  PRINT "DELETED FROM THE DATA MATRIX."
2402  IF Q[2]=0 THEN 2408
2405  Z9=J1
2407  GOSUB 9000
2408  IF Q4=Z THEN 9998
2410  GOTO 9912
3900  IF Z1>10 THEN 3930
3910  C$=M$[6*Z1-5,6*Z1]
3920  GOTO 3940
3930  C$=N$[6*(Z1-10)-5,6*(Z1-10)]
3940  RETURN 
3950  IF Z1>10 THEN 3980
3960  M$[6*Z1-5,6*Z1]=C$
3970  GOTO 3990
3980  N$[6*(Z1-10)-5,6*(Z1-10)]=C$
3990  RETURN 
8000  IF P[63]=0 THEN 8070
8010  FOR I=1 TO N9+3
8020  FOR J=1 TO K9+2
8030  X[I,J]=0
8040  NEXT J
8050  NEXT I
8060  GOTO 8080
8070  MAT X=ZER[N9+3,K9+2]
8080  P[65]=Q3=0
8090  MAT Q=ZER
8092  MAT M=ZER
8094  PRINT "NO DATA LEFT IN DATA MATRIX!"'7
8096  GOTO 9998
9000  FOR I=1 TO K8+1
9002  IF Z9=V[I] THEN 9160
9004  NEXT I
9008  PRINT "REGRESSION VARIABLES"
9010  PRINT "WERE IN COL.#  NOW IN COL.#"
9012  FOR I=1 TO K8+1
9014  PRINT  USING 9016;V[I]
9016  IMAGE #,5X2D
9018  IF V[I]>Z9 THEN 9022
9020  GOTO 9024
9022  V[I]=V[I]-1
9024  PRINT  USING "12X2D";V[I]
9026  NEXT I
9028  PRINT 
9030  GOTO 9155
9040  PRINT "COL."Z9"WAS ONE OF THE REGRESSION VARIABLES."
9100  MAT V=ZER
9110  Q[2]=Q[4]=0
9120  FOR I=1 TO N9+3
9140  X[I,K9]=X[I,K9+1]=0
9150  NEXT I
9155  RETURN 
9160  PRINT "YOUR REGRESSION OF COL."V[K8+1]"ON"
9165  PRINT "THE INDEPENDENT VARIABLES:";
9170  FOR I=1 TO K8
9180  PRINT V[I];
9190  NEXT I
9200  PRINT 
9210  PRINT "HAS BEEN WIPED OUT BECAUSE"
9240  GOTO 9040
9912  CHAIN "$IDA912"
9996  PRINT E$" NOT EXECUTED."
9998  CHAIN "$IDA",150
9999  END 
