Google
 

Trailing-Edge - PDP-10 Archives - decuslib10-09 - 43,50466/cross.doc
There are 5 other files named cross.doc in the archive. Click here to see a list.
                         WESTERN MICHIGAN UNIVERSITY
                               COMPUTER CENTER
 
LIBRARY PROGRAM #1.1.6
CALLING NAME:  CROSS
PREPARED BY:  SAM ANEMA
APPROVED BY:  JACK R. MEAGHER
DATE:  AUGUST, 1972 (VERSION 3)
 
                                PDP-10 NUCROS
 
1.0  PURPOSE
 
THIS PROGRAM IS A MODIFICATION OF A PROGRAM TAKEN FROM THE BOOK, "DATA PRO-
CESSING" BY K. JANDA, NORTHWESTERN UNIVERSITY PRESS.  IT WILL PERFORM CROSS
TABULATIONS ON TWO VARIABLES WITH THE OPTION OF USING UP TO TWO OTHER VARIABLES
AS CONTROL VARIABLES.  IT HAS THE CAPABILITY OF CALCULATING ROW AND COLUMN
PERCENTAGES, CALCULATING CHI-SQUARES, AND CALCULATING CORRELATION COEFFICIENTS
(KENDALL'S TAU-A, TAU-B, DXY, DYX, GAMMA).  FOR AN EXPLANATION OF THESE
CORRELATION COEFFICIENTS, SEE "A NEW ASYMMETRIC MEASURE OF ASSOCIATION FOR
ORDINAL VARIABLES" IN THE AMERICAN SOCIOLOGICAL REVIEW, VOLUME 27, DECEMBER 1962
BY ROBERT H. SOMERS.  IT ALSO HAS THE ABILITY TO RECODE DATA BY GROUPING CON-
TIGUOUS OR NON-CONTIGUOUS LEVELS WITHIN VARIABLES.
 
2.0  USER OPTIONS
 
THE DATA INPUT ON THIS PROGRAM MAY BE EITHER FROM CARDS, DISK, TAPE, DECTAPE,
OR TERMINAL.  THE CONTROL INFORMATION MAY BE EITHER FROM CARDS OR TERMINAL.
THE OUTPUT MAY BE TO THE TERMINAL, DISK, TAPE, DECTAPE, OR LINE PRINTER.
 
3.0  LIMITATIONS
 
    1.  THE MAXIMUM NUMBER OF VARIABLES TO BE PROCESSED AT ONE TIME IS 40.
    2.  THE MAXIMUM NUMBER OF TABLES TO BE CREATED IN ONE RUN IS 72.
    3.  THE MAXIMUM NUMBER OF UPPER BOUNDARIES IF TYPE 04 OR 08 RECODING IS
        USED IS 16.
    4.  THERE IS NO LIMITATION ON THE NUMBER OF CASES.
 
4.0  METHOD OF USE
 
THE FOLLOWING IS A SUMMARY OF THE QUESTIONS WHICH ARE TO BE ANSWERED IN THE
CROSS PROGRAM. ^USER'S RESPONSES ARE INDICATED BY <CR> AT THE END OF THE
LINE. A <CR> MEANS THAT THE RETURN KEY IS TO BE PRESSED.  A LINE BY LINE
EXPLANATION WILL FOLLOW THE SUMMARY.
 
           .R CROSS<CR>
LINE  1    OUTPUT?  TTY:<CR>
LINE  2    INPUT?   TTY:<CR>
LINE  3    FORMAT: (I-TYPE ONLY)
LINE  4    (3I1)<CR>
LINE  5    ENTER IDENTIFICATION
LINE  6    TRIAL RUN<CR>
LINE  7    ENTER PROBLEM CONTROL PARAMETERS
LINE  8    15,3,2,1,1,1,1,1<CR>
LINE  9    ENTER MAXIMUM VALUES
LINE 10    020202<CR>
LINE 11    ENTER TABLE CONTROL PARAMETERS
           0101<CR>
           0203<CR>
LINE 12    0000<CR>
           0000<CR>
LINE 13    ENTER TWO RECODING LINES
LINE 14    080808<CR>
LINE 15    000000<CR>
LINE 16    ENTER GROUP BOUNDARIES
LINE 17    2,4,6,8,9,<CR>
LINE 18    ENTER CATEGORIZATION
LINE 19    1,2,1,2,1<CR>
LINE 20    ENTER GROUP BOUNDARIES
LINE 21    2,4,6,8,9<CR>
LINE 22    ENTER CATEGORIZATION
LINE 23    1,2,1,2,1<CR>
LINE 24    ENTER GROUP BOUNDARIES
LINE 25    2,4,6,8,9<CR>
LINE 26    ENTER CATEGORIZATION
LINE 27    1,2,1,2,1<CR>
LINE 28    ENTER VARIABLE NAMES
           AGE<CR>
LINE 29    SEX<CR>
           LENGTH OF HAIR<CR>
LINE 30    ENTER DATA
           123<CR>
           456<CR>
           789<CR>
           987<CR>
           654<CR>
           321<CR>
           369<CR>
LINE 31    258<CR>
           147<CR>
           741<CR>
           852<CR>
           963<CR>
           126<CR>
           324<CR>
           357<CR>
           [OUTPUT]
LINE 32    INPUT? FINISH<CR>
 
THE FOLLOWING IS AN EXPLANATION OF THE ABOVE SUMMARY.
 
LINE 1  OUTPUT?
 
LINE 2  INPUT?
 
LINES 1 AND 2 DEFINE WHERE THE USER INTENDS TO WRITE HIS OUTPUT FILE (LINE 1)
AND FROM WHERE THE USER EXPECTS TO READ HIS INPUT DATA (LINE 2).  SEE NOTE (2)
BELOW FOR OTHER INPUT OPTIONS.
 
THE PROPER RESPONSE TO EACH OF THESE QUESTIONS CONSISTS OF THREE BASIC PARTS:
A DEVICE, A FILENAME, AND A PROJECT-PROGRAMMER NUMBER.
 
THE GENERAL FORMAT FOR THESE THREE PARTS IS AS FOLLOWS:
 
                            DEV:FILE.EXT[PROJ,PROG]
 
1)  DEV:  ANY OF THE FOLLOWING DEVICES ARE APPROPRIATE WHERE INDICATED:
 

                 DEVICE LIST         DEFINITION           STATEMENT USE
 
                    TTY:             TERMINAL             INPUT OR OUTPUT
                    DSK:             DISK                 INPUT OR OUTPUT
                    CDR:             CARD READER          INPUT ONLY
                    LPT:             LINE PRINTER         OUTPUT ONLY
                    DTA0:            DECTAPE 0            INPUT OR OUTPUT
                    DTA1:            DECTAPE 1            INPUT OR OUTPUT
                    DTA2:            DECTAPE 2            INPUT OR OUTPUT
                    DTA3:            DECTAPE 3            INPUT OR OUTPUT
                    DTA4:            DECTAPE 4            INPUT OR OUTPUT
                    DTA5:            DECTAPE 5            INPUT OR OUTPUT
                    DTA6:            DECTAPE 6            INPUT OR OUTPUT
                    DTA7:            DECTAPE 7            INPUT OR OUTPUT
                    MTA0:            MAGNETIC TAPE 0      INPUT OR OUTPUT
                    MTA1:            MAGNETIC TAPE 1      INPUT OR OUTPUT
 
INPUT MAY NOT BE DONE FROM THE LINE PRINTER NOR MAY OUTPUT GO TO THE CARD
READER.
 
2)  FILE.EXT IS THE NAME AND EXTENSION OF THE FILE TO BE USED.  THIS PART OF
THE SPECIFICATION IS USED ONLY IF DISK OR DECTAPE IS USED.
 
3)  [PROJ,PROG] IF DISK IS USED AND THE USER WISHES TO READ A FILE IN ANOTHER
PERSON'S DIRECTORY, HE MAY DO SO BY SPECIFYING THE PROJECT-PROGRAMMER NUMBER
OF THE DIRECTORY FROM WHICH HE WISHES TO READ.  THE PROJECT NUMBER AND THE
PROGRAMMER NUMBER MUST BE SEPARATED BY A COMMA AND ENCLOSED IN BRACKETS.  OUT-
PUT MUST GO TO YOUR OWN AREA.
 
EXAMPLE:
               OUTPUT?  LPT:/2
               INPUT?   DSK:DATA.DAT[71171,71026]
 
IN THE EXAMPLE, TWO COPIES OF THE OUTPUT ARE TO BE PRINTED BY THE HIGH SPEED
LINE PRINTER.  THE INPUT DATA IS A DISK FILE OF NAME DATA.DAT IN USER DIRECTORY
[71171,71026].
 
DEFAULTS:
 
1)  IF NO DEVICE IS SPECIFIED BUT A FILENAME IS SPECIFIED THE DEFAULT DEVICE
WILL BE DSK:
 
2)  IF NO FILENAME IS SPECIFIED AND A DISK OR DECTAPE IS USED THE DEFAULT ON
INPUT WILL BE FROM INPUT.DAT; ON OUTPUT IT WILL BE OUTPT.DAT.
 
3)  IF THE PROGRAM IS RUN FROM THE TERMINAL AND NO SPECIFICATION IS GIVEN
(JUST A CARRIAGE RETURN) BOTH INPUT AND OUTPUT DEVICES WILL BE THE TERMINAL.
 
4)  IF THE PROGRAM IS RUN THROUGH BATCH AND NO SPECIFICATION IS GIVEN, (A
BLANK CARD) THE INPUT DEVICE WILL BE CDR: AND THE OUTPUT DEVICE WILL BE LPT:
 
5)  IF NO PROJECT-PROGRAMMER NUMBER IS GIVEN, THE USER'S OWN NUMBER WILL BE
ASSUMED.
 
NOTE:  (1)  IF LPT: IS USED AS AN OUTPUT DEVICE, MULTIPLE COPIES MAY BE
            OBTAINED BY SPECIFYING LPT:/N WHERE N REFERS TO THE NUMBER OF COPIES
            DESIRED.
 
       (2)  THE FOLLOWING TWO OPTIONS ARE NOT APPLICABLE FOR THE FIRST DATA
            SET, I.E., IT IS APPLICABLE ONLY WHEN THE PROGRAM BRANCHES BACK TO
            LINE 2 UPON FIRST COMPLETION OF LINES 1-31.
            (A)  SAME OPTION
 
                 UPON RETURNING FROM LINE 31, IF THE SAME DATA FILE IS TO BE
                 USED AGAIN, SIMPLY ENTER "SAME<CR>", OTHERWISE, EITHER USE
                 THE FINISH OPTION OR ENTER ANOTHER FILENAME, ETC.
 
            (B)  FINISH OPTION
 
                 THE USER MUST ENTER "FINISH<CR>" TO BRANCH OUT OF THE CROSS
                 PROGRAM.  FAILURE TO DO SO MIGHT RESULT IN LOSING THE ENTIRE
                 OUTPUT FILE.
 
LINES 3-4.
     THERE ARE 3 OPTIONS AVAILABLE FOR THE FORMAT, NAMELY:
 
            (A)  STANDARD FORMAT OPTION
 
                 UNLESS OTHERWISE SPECIFIED, THE PROGRAM ASSUMED THE STANDARD
                 OPTION.  IN THIS OPTION, THE DATA ARE ARRANGED IN GROUPS OF
                 10 PER LINE, TWO VALUES BEING SEPARATED BY A COMMA.
 
                 TO USE THIS OPTION, SIMPLY TYPE IN "<CR>" ON TERMINAL JOBS
                 OR USE A BLANK CARD FOR BATCH JOBS OR TYPE "STD<CR>".
 
            (B)  OBJECT TIME FORMAT OPTION
 
                 IF THE DATA IS SUCH THAT A USER'S OWN FORMAT IS REQUIRED,
                 SIMPLY ENTER A LEFT PARENTHESIS FOLLOWED BY THE FIRST FORMAT
                 SPECIFICATION, A COMMA AND THE SECOND SPECIFICATION, ETC.
                 WHEN YOU FINISH ENTER A RIGHT PARENTHESIS, AND THEN A CARRIAGE
                 RETURN.  THERE CAN BE A MAXIMUM OF 3 LINES FOR THE FORMAT, EACH
                 LINE BEING 80 COLUMNS LONG.
 
                 NOTE THAT THE FORMAT SPECIFICATION LIST MUST USE THE FIXED
                 POINT (I-TYPE) NOTATION AND MUST CONTAIN SPECIFICATION FOR
                 EACH OF THE VARIABLES.  THE SPECIFICATIONS FOR THE FORMAT
                 ITSELF ARE THE SAME AS FOR THE FORTRAN IV FORMAT STATEMENT.
 
            (C)  SAME OPTION
 
                 THE SAME OPTION IS APPLICABLE ONLY TO JOBS THAT USE MORE THAN
                 ONE DATA FILE.  IF AN OBJECT TIME FORMAT WAS USED ON A DATA
                 SET AND THE SUCCEEDING DATA SET UTILIZES THE SAME FORMAT,
                 SIMPLY ENTER "SAME<CR>".
LINES 5-6.  PROBLEM IDENTIFICATION
 
LINES 7-8.  PROBLEM CONTROL PARAMETERS
            ENTER THE FOLLOWING NUMBERS SEPARATED BY COMMAS:
                 1.  NUMBER OF CASES OR OBSERVATIONS
                 2.  NUMBER OF VARIABLES (MAXIMUM 40)
                 3.  NUMBER OF TABLES (MAXIMUM 72).  A TABLE CONSISTS OF A CROSS
                     TABULATION ON TWO VARIABLES.  CONTROLLING ON ONE OR TWO
                     VARIABLES DOES NOT CHANGE THE NUMBER OF TABLES.
                 4.  1 IF VARIABLES ARE TO BE NAMED IN ADDITION TO BEING
                     NUMBERED; 0 OTHERWISE.
                 5.  1 IF RECODING IS TO BE PERFORMED; 0 OTHERWISE.
                 6.  1 IF CHI-SQUARE STATISTIC IS DESIRED; 0 OTHERWISE.
                 7.  1 IF COLUMN AND ROW PERCENTAGES ARE DESIRED; 0 OTHERWISE.
                 8.  1 IF CORRELATION COEFFICIENTS ARE DESIRED; 0 OTHERWISE.
 

LINES 9-10.  MAXIMUM VALUES OF VARIABLES
             THESE ARE THE MAXIMUM VALUES AFTER RECODING, SUBMITTED 30 PER
             LINE, TWO SPACES FOR EACH VALUE, RIGHT JUSTIFIED.  NOTE:  THE
             MAXIMUM TABLE SIZE IS 20 COLUMNS BY 100 ROWS.
 
LINES 11-12.  TABLE CONTROL PARAMETERS
                 1.  ON THE FIRST LINE ENTER VARIABLE NUMBERS OF THE VARIABLES
                     WHICH ARE TO BE THE COLUMN VARIABLES.
                 2.  ON THE SECOND LINE ENTER CORRESPONDING VARIABLE NUMBERS
                     OF THE VARIABLES WHICH ARE TO BE THE ROW VARIABLES.
                 3.  ON THE THIRD LINE ENTER FIRST CONTROL VARIABLE (IF NO
                     CONTROL VARIABLES, ENTER 0'S).
                 4.  ON THE FOURTH LINE ENTER SECOND CONTROL VARIABLES (IF NO
                     SECOND CONTROL VARIABLE, ENTER 0'S).
              IN EACH OF THE ABOVE CASES, ENTER VARIABLE NUMBERS AS TWO-DIGIT
              RIGHT JUSTIFIED NUMBERS AT A RATE OF 30 NUMBERS PER LINE.
 
LINES 13-15.  IF RECODING HAS BEEN SPECIFIED, TWO LINES MUST BE ENTERED AT
              THIS POINT.
                 1.  ON THE FIRST LINE, A TWO-DIGIT, RIGHT-JUSTIFIED CODE MUST
                     BE ENTERED FOR EACH VARIABLE.  POSSIBLE CODES ARE:
                          00 - NO RECODING
                          01 - RECODE BY ADDING A CONSTANT
                          02 - RECODE BY SUBTRACTING A CONSTANT
                          03 - RECODE BY DIVIDING A VARIABLE BY A CONSTANT
                          04 - RECODE BY REGROUPING CONTIGUOUS CATEGORIES
                          05 - REGROUPING DATA AND ADDITION
                          06 - REGROUPING DATA AND SUBTRACTION
                          07 - REGROUPING DATA AND DIVISION
                          08 - REGROUPING NON-CONTIGUOUSLY
                 2.  ON THE SECOND LINE, INDICATE THE CONSTANT.  IF NO CONSTANT
                     IS REQUIRED, ENTER 00.  AGAIN, 2-DIGIT, RIGHT JUSTIFIED
                     30 PER LINE.
 
LINES 16-27.  FOR EACH VARIABLE FOR WHICH TYPE 04 OR TYPE 08 RECODING HAS BEEN
              REQUESTED ENTER:
                     (04)  ONE LINE WHICH CONTAINS THE UPPER LIMITS OF THE RE-
                           GROUPING
                     (08)  TWO LINES, THE FIRST WHICH INDICATES THE UPPER LIMITS
                           OF THE CONTIGUOUS GROUPS.  THE SECOND INDICATES
                           THE CORRESPONDING NUMBER TO WHICH EACH OF THE ABOVE
                           GROUPS IS TO BE RECODED.
              THE NUMBERS IN THE ABOVE TWO CASES MUST BE SUBMITTED SEPARATED BY
              COMMAS.
 
LINES 28-29.  IF OPTION 4 ON THE PROBLEM CARD INDICATES A DESIRE TO NAME THE
              VARIABLES, ENTER THE NAMES HERE, ONE NAME PER LINE, LESS THAN 60
              CHARACTERS PER NAME.
 
LINES 30-31.  IF INPUT IS FROM THE TERMINAL, ENTER IT AT THIS POINT  (SEE LINE
              2).
 
LINE 32.  THE PROGRAM IS NOW READY TO ACCEPT ANOTHER INPUT SPECIFICATION TO
          CONTINUE PROCESSING (SEE LINE 2).  SUBMITTING FINISH<CR> WILL TER-
          MINATE THE PROGRAM.
 


5.0  SAMPLE TERMINAL RUN
 
.R CROSS

                   PDP-10 VERSION OF NUCROS
OUTPUT? (TYPE HELP IF NEEDED--TTY:
INPUT? (TYPE HELP IF NEEDED)--TTY:
FORMAT: (I-TYPE ONLY)
(3I1)

ENTER IDENTIFICATION
TRIAL RUN

TRIAL RUN                                                                       
ENTER PROBLEM CONTROL PARAMETERS
15,3,2,1,1,1,1,1

TOTAL CASES USED =   15

ENTER MAXIMUM VALUES
020202

VARIABLE    1  2  3
MAX.VALUE   2  2  2

ENTER TABLE CONTROL PARAMETERS
0101
0203
0000
0000

          TABLE NO.      VARIABLES       MAXIMUM VALUES

              1          1   2                2   2
              2          1   3                2   2
ENTER TWO RECODING LINES
080808
000000

ENTER GROUP BOUNDARIES
2,4,6,8,9

ENTER CATEGORIZATION
1,2,1,2,1

ENTER GROUP BOUNDARIES
2,4,6,8,9

ENTER CATEGORIZATION
1,2,1,2,1

ENTER GROUP BOUNDARIES
2,4,6,8,9

ENTER CATEGORIZATION
1,2,1,2,1
RECODING OPTION CALLED FOR

    VAR.NO. CODE   CONSTANT     RECODED CATEGORIES (UPPER LIMITS)     
        1     8    NONE  2  4  6  8  9  0  0  0  0  0  0  0  0  0  0  0
                         1  2  1  2  1  0  0  0  0  0  0  0  0  0  0  0
        2     8    NONE  2  4  6  8  9  0  0  0  0  0  0  0  0  0  0  0
                         1  2  1  2  1  0  0  0  0  0  0  0  0  0  0  0
        3     8    NONE  2  4  6  8  9  0  0  0  0  0  0  0  0  0  0  0
                         1  2  1  2  1  0  0  0  0  0  0  0  0  0  0  0



ENTER VARIABLE NAMES
AGE
SEX
LENGTH OF HAIR
VAR.NO.

   1  AGE                                                         
   2  SEX                                                         
   3  LENGTH OF HAIR                                              

ENTER DATA
123
456
789
987
654
321
369
258
147
741
852
963
126
324
357
       TABLE NO.   1          VARIABLE NO.  1  AGE                                                         
                        VRS.  VARIABLE NO.  2  SEX                                                         
      TABLE SIZE =   3  BY   3

                TOT       0    1    2

          0       0       0    0    0
          1      11       0    5    6
          2       4       0    2    2

        TOTAL    15       0    7    8
      CHI SQUARE =   0.024   C =  .040   TAU-B = -0.040
      GAMMA = -0.091   DXY = -0.045   DYX = -0.036

      PERCENTS BY COLUMN FROM THE ABOVE MATRIX

          0       0          00.0 00.0 00.0
          1      11          00.0 71.4 75.0
          2       4          00.0 28.6 25.0

        TOTAL    15            0    7    8
      PERCENTS BY ROW FROM THE ABOVE MATRIX 


          0       0          00.0 00.0 00.0
          1      11          00.0 45.5 54.5
          2       4          00.0 50.0 50.0

        TOTAL    15            0    7    8

       TABLE NO.   2          VARIABLE NO.  1  AGE                                                         
                        VRS.  VARIABLE NO.  3  LENGTH OF HAIR                                              
      TABLE SIZE =   3  BY   3

                TOT       0    1    2

          0       0       0    0    0
          1       7       0    1    6
          2       8       0    6    2

        TOTAL    15       0    7    8
		      CHI SQUARE =   5.529   C =  .519   TAU-B = -0.607   GAMMA = -0.895   DXY = -0.607   DYX = -0.607

      PERCENTS BY COLUMN FROM THE ABOVE MATRIX

          0       0          00.0 00.0 00.0
          1       7          00.0 14.3 75.0
          2       8          00.0 85.7 25.0

        TOTAL    15            0    7    8

      PERCENTS BY ROW FROM THE ABOVE MATRIX 

          0       0          00.0 00.0 00.0
          1       7          00.0 14.3 85.7
          2       8          00.0 75.0 25.0

        TOTAL    15            0    7    8
INPUT? (TYPE HELP IF NEEDED)--FINISH

END OF EXECUTION
CPU TIME: 0.84	ELAPSED TIME: 8.80
EXIT

6.0  BATCH OPERATION
 
THE FOLLOWING IS A BATCH JOB SET UP:  (EACH LINE REPRESENTS ONE CARD, EACH
CARD STARTING IN COLUMN 1.  DO NOT INCLUDE THE COMMENTS AT THE RIGHT.)
 
--------------------------------------------------------------------------------
 
                                         COMMENTS
 
     $JOB [PROJ,PROG]                    JOB CARD; INSERT USER'S PROJECT-
                                         PROGRAMMER NUMBER WITHIN THE BRACKET
 
     $PASSWORD ######                    IN PLACE OF THE 6#'S, PUT IN THE PASS-
                                         WORD.
 
     $DATA                               SIGNIFY BEGINNING OF DATA DECK
            (DATA CARDS)                 INSERT THE DATA CARD DECK TO BE
                                         ANALYZED
 
     $EOD                                SIGNIFY THE END OF DATA CARD DECK
 
     .R CROSS                            START THE EXECUTION
        (RESPONSES TO LINES 1-32 IN SECTION
        4.0 REPEATED OR NOT)             USER'S RESPONSE
 
     (EOF)                               AN END-OF-FILE CARD (GET THESE AT THE
                                         COMPUTER CENTER)
 
--------------------------------------------------------------------------------



     EXAMPLE:
 
     $JOB [410,410]
     $PASSWORD
     $DATA
     123
     456
     789
     987
     654
     321
     369
     258
     147
     741
     852
     963
     126
     324
     357
     $EOD
     .R CROSS
     LPT:
     CDR:
     (3I1)
     BATCH EXAMPLE
     15,3,4,1,1,1,1,1
     020202
     0101
     0203
     0000
     0000
     080808
     000000
     2,4,6,8,9
     1,2,1,2,1
     2,4,6,8,9
     1,2,1,2,1
     2,4,6,8,9
     1,2,1,2,1
     AGE
     SEX
     LENGTH OF HAIR
     FINISH
     (EOF)