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:12MAY74
52  REM:EXPLAIN CATE,SELR,MOVE,DELV
90  DIM C$[12],E$[4]
1990  GOTO Q1 OF 1999,2999,3999,4999
1999  E$="CATE"
2000  PRINT "'CATE' CAN BE USED TO CREATE A CATEGORICAL VARIABLE FROM"
2010  PRINT "A SPECIFIED VARIABLE."
2020  PRINT "YOU ARE ASKED TO SPECIFY:"
2030  PRINT "1.  THE COL.#,J1, OR NAME OF THE VARIABLE TO BE TRANSFORMED."
2040  PRINT "2.  THE COLUMN, J2, IN WHICH THE TRANSFORMED VARIABLE IS TO BE"
2050  PRINT "    PLACED--A DATA COL. OR A SCRATCH COL., IF YOU HAVE SET ASIDE"
2060  PRINT "    SCRATCH COLUMNS WITH 'RDIM'."
2070  PRINT "3.  THE NUMBER OF CATEGORIES, K3."
2080  PRINT "4.  A VALUE, B(I), TO BE ASSIGNED TO EACH CATEGORY, I."
2090  PRINT "5.  THE UPPER LIMIT, U(I), OF EACH OF THE FIRST K3-1 CATEGORIES."
2100  GOSUB 9020
2110  PRINT "FOR EXAMPLE, IF THE VARIABLE TO BE TRANSFORMED HAS:"
2120  PRINT "MIN. = 40; MAX. = 80; MEAN = 60; STD.DEV. = 5"
2130  PRINT "YOU MIGHT CHOOSE, K3=3; B(1)=0, U(1)=55; B(2)=1, U(2)=65;B(3)=0"
2140  PRINT "THUS, EVERY ROW WITH VALUE <= 55 OR > 65 IN COL. J1 WOULD BE 0"
2150  PRINT "IN COL.J2.  EVERY ROW WITH VALUE >55 AND <=65 IN J1 WOULD BE 1"
2160  PRINT "IN J2."
2170  GOTO 9990
2999  E$="SELR"
3000  PRINT "'SELR' CAN BE USED TO SELCT ROWS FOR WHICH A SPECIFIED COLUMN"
3010  PRINT "HAS SPECIFIED VALUES AND DELETE ALL OTHER ROWS."
3020  PRINT "THE COLUMN J2 MAY BE A DATA OR A SCRATCH COL. FOR EXAMPLE,"
3030  PRINT "YOU CAN SPECIFY THAT ALL ROWS FOR WHICH"
3040  PRINT "   L <= X(I,J2) <= U"
3050  PRINT "BE ACTIVE, AND ALL OTHERS BE DELETED."
3060  PRINT "YOU MUST HAVE ALL ROWS ACTIVE BEFORE USING 'SELR'."
3070  GOTO 9990
3999  E$="MOVE"
4000  PRINT "'MOVE' CAN BE USED TO MOVE ALL VALUES FROM COL.J1 TO COL.J2."
4010  PRINT "WHEN DATA MATRIX COL.J1 IS MOVED TO SCRATCH COL.J2,"
4020  PRINT "ALL VALUES IN DATA COLUMNS > J1 ARE MOVED TO THE NEXT COLUMN"
4030  PRINT "TO FILL THE GAP AND ZEROES ARE PUT IN THE LAST ONE."
4040  PRINT "WHEN SCRATCH COL.J1 IS MOVED TO DATA COL.J2,"
4050  PRINT "COL.J1 IS FILLED WITH ZEROES AFTER ITS VALUES ARE MOVED TO"
4060  PRINT "DATA COL.J2."
4070  PRINT "NO COMPUTATIONS ARE DONE ON SCRATCH COLUMNS--THUS SAVING"
4080  PRINT "UNNECESSARY COMPUTATIONS.  ALSO, SCRATCH COLUMNS ARE NOT "
4090  PRINT "ERASED WHEN 'ENTE' AND OTHER SIMILAR COMMANDS ARE USED."
4100  GOTO 9990
4999  E$="DELV"
5000  PRINT "'DELV' IS USED TO DELETE A DATA COLUMN WHICH IS NO LONGER NEEDED--"
5010  PRINT "THUS SAVING UNNECESSARY UPDATING OF THAT COLUMN."
5020  PRINT "IF COL.J IS DELETED, THE VALUES IN EACH COLUMN >J THROUGH K"
5030  PRINT "ARE MOVED TO THE NEXT COLUMN NUMBER.  NAMES, CORRELATION VALUES,"
5040  PRINT "ETC. ARE ALSO CORRECTED."
5050  GOTO 9990
9020  IF P[64]=0 OR P[64]>10 THEN 9180
9030  PRINT "* MORE ?";
9040  ENTER 255,Q8,C$
9050  PRINT 
9070  IF Q8>0 THEN 9130
9080  PRINT "PLEASE RESPOND:"
9090  PRINT "NO,"'10"FOLLOWED BY A CARRIAGE RETURN, ";
9100  PRINT "IF YOU DON'T WANT ANY MORE EXPLANATION"
9110  PRINT "WITH A CARRIAGE RETURN ONLY,"'10"IF YOU WANT MORE EXPLANATION"
9120  GOTO 9030
9130  IF C$="" THEN 9190
9132  IF C$[1,1]="Y" THEN 9190
9140  IF C$[1,1]="N" THEN 9998
9150  IF C$[1,1]="?" THEN 9080
9160  PRINT "INVALID RESPONSE."
9170  GOTO 9080
9180  PRINT 
9190  RETURN 
9990  PRINT "TO USE "E$", REISSUE "E$
9998  CHAIN "$IDA",150
9999  END 
