1 !
	500.11 - STAT11 - STATCM

		STATISTICAL ANAYLSIS COMMAND MODULE

	RELEASED FOR SUBMISSION TO THE DECUS LIBRARY BY THE DEC
	ENGINEERING SYSTEMS GROUP AND THE EDUCATION PRODUCTS GROUP
		SEPTEMBER, 1977


2 !	COPYRIGHT (C) 1973, DIGITAL EQUIPMENT CORPORATION,

			MAYNARD, MASSACHUSETTS

3 !	THIS SOFTWARE IS FURNISHED TO PURCHASER UNDER A LICENSE FOR USE
	ON A SINGLE COMPUTER SYSTEM AND CAN BE COPIED (WITH INCLUSION OF
	DEC'S COPYRIGHT NOTICE) ONLY FOR USE IN SUCH SYSTEM, EXCEPT AS
	MAY OTHERWISE BE PROVIDED IN WRITING BY DEC.

4 !	THE INFORMATION IN THIS DOCUMENT IS SUBJECT TO CHANGE WITHOUT
	NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL
	EQUIPMENT CORPORATION.

5 !	DEC ASSUMES NO RESPONSIBILITY FOR USE OR RELIABILITY OF ITS
	SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.



6 !	THIS MODULE ASKS THE USER WHAT ANALYSIS HE WANTS PERFORMED NEXT
	AND THEN TRANSFERS CONTROL TO THE CORRESPONDING MODULE.



7 ! 	AUTHOR:		MICHAEL D. KNAUER

	VERSION NUMBER:	001

	DATE:		OCTOBER, 1973



8  !	MODIFICATIONS:  MAY, 1975

	MODIFIED TO ACCEPT MISSING DATA

	MODIFIED TO ALLOW PROGRAMS TO BE LOCATED IN ANY ACCOUNT
		BY ARDOTH HASSLER WILSON
		   CENTRAL STATE UNIVERSITY
		   EDMOND, OKLAHOMA


00009!	MODIFICATIONS:  JUNE, 1976

	CTRL/C TRAP ADDED

10 !

	CALLING ARGUMENTS

		NONE -- THIS MODULE DOES NOT USE ANY OF THE ARGUMENTS THAT
			ARE PASSED TO IT VIA COMMON.



20 !

	RETURNING ARGUMENTS

22  !		1) VARIABLE POSITION:   MID(F$,56%,15%)
		   RANGE OF VALUES:     'STATCM' OR ANY 6 CHARACTER 
				         ANALYSIS CODE + '[XXX,XXX]'
24 !		   USE:			THIS IS ADDED TO THE ARGUMENTS THAT
					ARE ALREADY BEING PASSED VIA COMMON;
					IT REPRESENTS THE MODULE TO BE CHAINED
					TO (USUALLY STATCM) AFTER EXECUTION
					OF THE NEXT MODULE(S) IS COMPLETED.



30 !	DESCRIPTION OF FUNCTION

31 !		THIS MODULE ASKS THE USER WHAT ANALYSIS HE WANTS PERFORMED
		NEXT AND THEN CHECKS WHAT THE USER TYPES IN TO MAKE SURE
		IT IS A VALID ANALYSIS CODE.

32 !		THE USER CAN TYPE HELP FOR A LIST OF THE VALID ANALYSIS 
		CODES, OR HE CAN TYPE FINISH TO STOP STAT11 EXECUTION.

33 !		IF HE TYPES A VALID ANALYSIS CODE, THEN STATCM ASKS IF HE
		WANTS TO READ NEW DATA.

34 !		IF HE DOES, THEN STATCM STORES THE MODULE NAME FOR THE NEXT
		ANALYSIS IN COMMON AND CHAINS TO THE DATAIN MODULE.

35 !		IF HE DOESN'T WANT TO READ NEW DATA, THEN STATCM STORES 'STATCM'
		IN COMMON AND CHAINS TO THE APPROPRIATE MODULE FOR THE NEXT
		ANALYSIS.

36 !		WHEN THE USER GETS TIRED AND TYPES 'FINISH', STATCM KILLS
		(DELETES) THE TEMPORARY FILES AND PRINTS THE TIME OF DAY.

37 !





















99 !

	THIS FIRST SECTION ASKS THE USER WHAT ANALYSIS HE WANTS PERFORMED
	NEXT AND THEN FORMS THE APPROPRIATE MODULE NAME FROM THE LEFT SIX
	CHARACTERS, REPLACING SPACES AND DASHES WITH ZEROES.



100	ON ERROR GOTO 9000: GOSUB 10000: F$=SYS(CHR$(7%))
110  DIM G9(6%)
115	A9$=MID(F$,62%,9%): I%=INSTR(5%,A9$,"]"): A9$=LEFT(A9$,I%)
120  F$=LEFT(F$,55%)+"STATCM"+A9$+"   "
130  PRINT "ENTER ANALYSIS TO BE PERFORMED."
140  INPUT LINE A1$ : PRINT
145  A1$=LEFT(A1$,LEN(A1$)-2)
150  A$=LEFT(A1$+"      ",6%)
160  IF A$="FINISH" GOTO 520
200  X=X              !SPECIAL MODULES CAN BE CKD FOR ABOVE
210  CHANGE A$ TO G9
220  FOR I%=1% TO 6%
230  IF G9(I%)=ASCII(" ") THEN G9(I%)=ASCII("0")
240  IF G9(I%)=ASCII("-") THEN G9(I%)=ASCII("0")
250  NEXT I%
260  CHANGE G9 TO A$
261 !


	HERE THE NAME IS CHECKED TO MAKE SURE IT IS A VALID MODULE NAME.



262 IF A$="EDIT00" GOTO 440
264  IF A$="TRANSF" GOTO 440
266  IF A$="ELEMEN" GOTO 440
268  IF A$="CROSS0" GOTO 440
270 IF A$="CORREL" GOTO 440
272  IF A$="RANK0C" GOTO 440
274  IF A$="CHI0SQ" GOTO 440
276  IF A$="T0TEST" GOTO 440
278  IF A$="REGRES" GOTO 440
279  IF A$="STEPWI" GOTO 440
280  IF A$="SCATTE" GOTO 440
282  IF A$="HISTOG" GOTO 440
284  IF A$="LINE0P" GOTO 440
285  	IF A$="ANALYS" GOTO 440
286  IF A$="HELP00" GOTO 330
300  PRINT "INVALID ANALYSIS CODE, PLEASE TRY AGAIN"
310  PRINT "TYPE 'HELP' FOR A LIST OF ANALYSIS CODES"
320  GOTO 140
325 !


	THIS SECTION PRINTS OUT THE HELP MESSAGE LISTING THE VALID ANALYSIS
	CODES.


330  PRINT "ANALYSIS CODE         ABBREVIATION":PRINT
335  PRINT "EDIT                     EDIT"
340  PRINT "TRANSFORMATION           TRANSF"
345  PRINT "ELEMENTARY STATISTICS    ELEMEN"
350  PRINT "CROSS TABULATION         CROSS"
353  PRINT "CORRELATION              CORREL"
355  PRINT "RANK CORRELATION         RANK-C"
365  PRINT "CHI-SQUARED              CHI-SQ"
370  PRINT "T-TEST                   T-TEST"
372  PRINT "ANALYSIS OF VARIANCE     ANALYS"
375  PRINT "REGRESSION               REGRES"
378  PRINT "STEPWISE/MULTIPLE        STEPWI"
379  PRINT "     REGRESSION"
380  PRINT "SCATTER DIAGRAM          SCATTE"
385  PRINT "HISTOGRAM                HISTOG"
390  PRINT "LINE PLOT                LINE-P"
393  PRINT "FINISH                   FINISH"
395  PRINT
400  GOTO 130
430 !


	IF THE USER WISHES TO READ NEW DATA, THIS SECTION CHAINS TO DATAIN,
	PASSING AS AN ARGUMENT THE MODULE NAME FOR THE NEXT ANALYSIS TO BE
	PERFORMED.


440  INPUT "DO YOU WISH TO READ NEW DATA ";W$ : PRINT
445  IF W$="NO" OR LEFT(W$,1%)="N" OR W$="" GOTO 490
450  IF W$="YES" OR LEFT(W$,1%)="Y" GOTO 460
455  PRINT "YOU MUST TYPE EITHER YES OR NO": GOTO 440
460  F$=LEFT(F$,55%)+A$+A9$+SPACE$(15%)
470  R$=SYS(CHR$(8)+F$)
480  CHAIN "DATAIN"+A9$
485 !


	THIS CODE CHAINS TO THE APPROPRIATE MODULE FOR THE NEXT ANALYSIS,
	PASSING AS AN ARGUMENT 'STATCM[90,1]   ', WHICH WILL BE USED TO
	CHAIN BACK TO THIS MODULE WHEN THE ANALYSIS IS FINISHED.



490  R$=SYS(CHR$(8)+F$)
500  A$=LEFT(A$,6%)+A9$: CHAIN A$
510 !


	WHEN THE USER TYPES 'FINISH', THIS LAST SECTION DELETES (KILLS)
	THE STAT11 WORKFILES AND PRINTS THE TIME OF DAY.



520  F3$=MID(F$,31%,15%)
530  KILL F3$
540  KILL LEFT(F3$,6%)+".ESF"
550  PRINT: PRINT "STAT11 TERMINATED  "; TIME$(0);"   ";DATE$(0)
555  PRINT: PRINT
560	GOTO 32750
09000	IF ERR=28% THEN GOSUB 10000: RESUME 520
09010	IF ERR=5% THEN RESUME 550
09020	ON ERROR GOTO 0
10000	V0$=SYS(CHR$(6%)+CHR$(-7%)): RETURN	! CTRL/C TRAP
32750	END
