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:12FEB74 60 REM:Q1=1 FOR >ABSO;=2 FOR>ADDC;=3 FOR>ADDV;=4 FOR >DIFF;=5 FOR>DOTP 62 REM:Q1=6 FOR>EXPO;=7 FOR>LAGG;=8 FOR >LOGE;=9 FOR>LOG1;=10 FOR>MULC 64 REM:Q1=11 FOR>MULV;=12 FOR>POWE;=13 FOR>STAN;=14 FOR >DIVI 66 REM:Q1=15 FOR>SAVR 150 DIM D$[13] 155 GOTO 200 160 IF Q9>1 THEN 200 170 PRINT "WANT EXPLANATION "; 172 INPUT D$ 174 IF D$[1,1]="N" THEN 200 176 PRINT "WILL GIVE EXPLANATION IN IDA24E FOR TRANS. AND SAVR" 200 IF Q[1]#0 THEN 220 210 GOTO 9929 220 PRINT 230 IF K0 THEN 445 385 IF K=(K9-1) THEN 420 390 PRINT "TO PLACE VARIABLE IN A NEW COLUMN, TYPE THE NUMBER :"(K+1) 410 PRINT 415 PRINT "OTHERWISE," 420 PRINT "GIVE A NUMBER BETWEEN 1 AND"K" : "; 440 GOTO 360 445 IF J#INT(J) OR J <= 0 THEN 9996 447 IF Q[2]#0 AND J0 THEN 575 550 PRINT "DATA IN COL(S).1 TO"K 570 GOTO 510 575 IF I#INT(I) OR I <= 0 THEN 9996 580 IF I <= K THEN 602 590 PRINT "NUMBER GIVEN TOO LARGE"'10; 600 GOTO 550 602 IF I#J THEN 610 604 IF (Q1=4) OR (Q1=7) THEN 3500 610 GOTO Q1 OF 800,700,50,2000,50,800,2000,800,800,700,50,620,3000 620 GOTO Q9 OF 630,650,670 630 PRINT "* VALUE OF POWER = "; 640 GOTO 675 650 PRINT "* POWER = "; 660 GOTO 675 670 PRINT "* P = "; 675 ENTER 30,Q8,P0 676 PRINT 680 IF Q8>0 THEN 800 685 PRINT "NUMERIC INPUT REQUIRED" 686 PRINT " 2 FOR SQUARE," 687 PRINT " 0.5 FOR SQUARE ROOT," 688 PRINT " -1 FOR RECIPROCAL, ETC." 690 GOTO 630 700 GOTO Q9 OF 710,730,750 710 PRINT "* VALUE OF CONSTANT = "; 720 GOTO 760 730 PRINT "* CONSTANT = "; 740 GOTO 760 750 PRINT "* C = "; 760 ENTER 30,Q8,P0 765 PRINT 770 IF Q8>0 THEN 800 780 PRINT "NUMERIC INPUT REQUIRED" 790 GOTO 710 800 FOR I1=1 TO X[N9+3,I] 802 X[I1,J]=0 804 NEXT I1 806 FOR I1=X[N9+3,I]+1 TO N 808 IF Q1=15 THEN 1090 810 GOTO Q1 OF 820,840,50,50,50,860,1070,880,950,1000,50,1020 820 X[I1,J]=ABS(X[I1,I]) 830 GOTO 1100 840 X[I1,J]=X[I1,I]+P0 850 GOTO 1100 860 X[I1,J]=EXP(X[I1,I]) 870 GOTO 1100 880 IF (X[I1,I])>0 THEN 910 890 IF X[I1,K9+2]=0 THEN 1100 900 GOTO 1040 910 X[I1,J]=LOG(X[I1,I]) 920 GOTO 1100 950 IF X[I1,I]>0 THEN 970 960 GOTO 890 970 X[I1,J]=LOG(X[I1,I])/LOG(10) 980 GOTO 1100 1000 X[I1,J]=X[I1,I]*P0 1010 GOTO 1100 1020 IF X[I1,I] >= 0 THEN 1060 1025 IF X[I1,K9+2]=0 THEN 1100 1030 IF (P0/2)=INT(P0/2) THEN 1060 1040 PRINT "NONPOSITIVE VALUE IN ACTIVE DATA TO BE TRANSFORMED." 1045 PRINT "REQUESTED TRANSFORMATION IMPOSSIBLE." 1050 GOTO 9998 1060 X[I1,J]=X[I1,I]^P0 1065 GOTO 1100 1070 IF I1>I2 THEN 1080 1075 X[I1,J]=0 1076 GOTO 1100 1080 X[I1,J]=X[I1-I2,I] 1085 GOTO 1100 1090 X[I1,J]=X[I1,I] 1100 NEXT I1 1110 X[N9+3,J]=X[N9+3,I] 1120 IF Q1#7 THEN 1140 1130 X[N9+3,J]=X[N9+3,I]+I2 1135 REM: GOTO IDA912 FOR UPDATING MEAN AND STD.DEV. 1140 I4=J 1150 Q[8]=Q[6]=24 1178 GOTO 9912 1500 D$="+" 1501 GOTO 1508 1504 D$="X" 1505 GOTO 1508 1506 D$="/" 1508 GOTO Q9 OF 1510,1510,1560 1510 PRINT USING 1520;J,D$ 1520 IMAGE "COLUMN",XDD," = (COLUMN I) ",A," (COLUMN J)" 1530 PRINT "GIVE VALUES I,J, SEPARATED BY A COMMA : "; 1550 GOTO 1570 1560 IF Q1=14 THEN 1565 1562 PRINT "I,J = "; 1564 GOTO 1570 1565 PRINT "NUMERATOR, DENOMINATOR = "; 1570 INPUT J1,J2 1580 IF (J1 MAX J2) <= K THEN 1620 1590 PRINT "COLUMN NUMBERS MUST BE <",(K+1) 1600 PRINT "PLEASE RE-ENTER I,J : "; 1610 GOTO 1570 1620 J3=(X[N9+3,J1] MAX X[N9+3,J2]) 1621 FOR I=1 TO J3 1622 X[I,J]=0 1624 NEXT I 1625 FOR I=J3+1 TO N 1640 GOTO (Q1-2) OF 1650,50,1670,50,50,50,50,50,1670,50,50,1675 1650 X[I,J]=X[I,J1]+X[I,J2] 1660 GOTO 1680 1670 X[I,J]=X[I,J1]*X[I,J2] 1672 GOTO 1680 1675 X[I,J]=X[I,J1]/X[I,J2] 1680 NEXT I 1690 X[N9+3,J]=J3 1700 GOTO 1140 1800 REM:>SAVR 1820 IF Q[2]#0 THEN 1826 1822 PRINT "NO RESIDUALS OR FITTED VALUES TO SAVE." 1823 PRINT "EXECUTE 'REGR' FIRST." 1824 GOTO 9998 1826 IF Q[4]=0 THEN 1840 1828 Q[5]=0 1830 Q[6]=24 1832 Q[7]=1840 1834 GOTO 9938 1840 PRINT 1842 GOTO Q9 OF 1844,1850,1850 1844 PRINT "WANT TO "; 1846 PRINT "SAVE RESIDUALS, FITTED VALUES, OR NEITHER ? "; 1848 GOTO 1860 1850 PRINT "* R, F, OR N ? "; 1860 ENTER 30,Q8,D$ 1861 PRINT 1862 IF Q8>0 THEN 1870 1864 PRINT "CAN SAVE RESIDUALS, FITTED, OR NEITHER." 1865 PRINT "PLEASE ANSWER. R, F, OR N "; 1866 INPUT D$ 1870 IF D$[1,1]="R" THEN 1880 1872 IF D$[1,1]="F" THEN 1890 1874 IF D$[1,1]="N" THEN 9996 1875 IF D$[1,1]="?" THEN 1864 1876 PRINT "INVALID RESPONSE." 1878 GOTO 1864 1880 D$="RESIDUALS" 1881 I=K9+1 1882 GOTO 1900 1890 D$="FITTED VALUES" 1892 I=K9 1900 PRINT "*COL. # TO PLACE "D$" ="; 1910 GOTO 360 2000 GOTO Q9 OF 2001,2001,2003 2001 PRINT "GIVE A POSITIVE INTEGER FOR GAP :" 2002 GOTO 2004 2003 PRINT "GAP = "; 2004 INPUT I2 2005 IF Q1=7 THEN 800 2006 J1=X[N9+3,I]+I2 2008 FOR I1=1 TO J1 2010 X[I1,J]=0 2020 NEXT I1 2070 J2=N 2130 FOR I1=J1+1 TO J2 2140 X[I1,J]=X[I1,I]-X[I1-I2,I] 2150 NEXT I1 2160 X[N9+3,J]=X[N9+3,I]+I2 2165 IF Q[2]=0 THEN 2170 2167 Q[4]=1 2170 GOTO 1140 3000 FOR I1=Q4 TO N 3005 IF X[I1,K9+2]=0 THEN 3020 3010 X[I1,J]=(X[I1,I]-X[N9+1,I])/X[N9+2,I] 3020 NEXT I1 3030 X[N9+1,J]=0 3040 X[N9+2,J]=1 3050 X[N9+3,J]=X[N9+3,I] 3060 GOTO 1140 3500 PRINT "FOR THIS TRANSFORMATION, THE TRANSFORMED VARIABLE CANNOT" 3510 PRINT "OCCUPY THE SAME COLUMN AS THE VARIABLE TO BE TRANSFORMED." 3515 IF K=K9-1 THEN 320 3520 PRINT USING 3530;(K+1) 3530 IMAGE #,"WANT TO PUT NEW VARIABLE IN COLUMN ",DDX 3540 INPUT D$ 3550 IF D$[1,1]="N" THEN 320 3560 J=K+1 3570 GOTO 610 5000 REM:PRETEST FOR DIFF AND LAGG 5010 FOR I=1 TO N 5020 IF X[I,K9+2]=0 THEN 5050 5030 NEXT I 5040 GOTO 310 5050 PRINT "SOME OBSERVATIONS HAVE PREVIOUSLY BEEN DELETED." 5060 PRINT "TO EXECUTE 'LAGG' OR 'DIFF' NOW WOULD LEAD TO" 5070 PRINT "IMPROPER UPDATING BY THE SYSTEM." 5080 PRINT 5090 PRINT "TO ACCOMPLISH THE DESIRED TRANSFORMATION, YOU SHOULD" 5100 PRINT "FIRST 'RECOUP' THE DELETED OBSERVATIONS," 5102 PRINT "THEN 'LAGG' OR 'DIFF'," 5110 PRINT "AND FINALLY DELETE THE APPROPRIATE OBSERVATIONS AT THE" 5120 PRINT "COMPLETION OF SUCH TRANSFORMATIONS." 5130 GOTO 9996 9000 FOR I1=1 TO K8+1 9010 IF J=V[I1] THEN 9050 9020 NEXT I1 9030 REM: J NOT A REGRESSION VAR. 9040 GOTO 450 9050 PRINT "COL."J"CONTAINS 1 OF THE REGRESSION VARIABLES." 9060 PRINT "WANT TO CHOOSE ANOTHER COLUMN "; 9070 INPUT D$ 9080 IF D$[1,1]="N" THEN 450 9090 GOTO 385 9912 CHAIN "$IDA912" 9929 CHAIN "$IDA29",210 9938 CHAIN "$IDA38" 9996 PRINT "REQUESTED COMMAND NOT EXECUTED." 9998 CHAIN "$IDA",150 9999 END