home *** CD-ROM | disk | FTP | other *** search
/ The World of Computer Software / World_Of_Computer_Software-02-385-Vol-1of3.iso / e / estat21.zip / EASIDOC.ZIP / ESCHAP04.DOC < prev    next >
Text File  |  1992-09-14  |  26KB  |  794 lines

  1.  
  2.  
  3.      Chapter 4: COMMAND SYNTAX
  4.  
  5.      To get EASISTAT to do anything you have to give it a
  6.      command to perform. Most commands will also require other
  7.      information, such as which columns to apply a particular
  8.      analysis to. The way in which this information is
  9.      specified can be called the format or syntax of the
  10.      command. When each command is described in this manual
  11.      its format is defined with it, but to understand the
  12.      format required there are some important general rules it
  13.      is helpful to become familiar with first.
  14.  
  15.      To illustrate these rules we will take the BASICS
  16.      command, which is described later in the manual in the
  17.      following way:
  18.  
  19.      Format: B[asics] [r[anks]] [g[raphfile]] column [if condition]
  20.  
  21.      This means that the command is called BASICS, but that
  22.      all but the first letter B is optional, that it can have
  23.      an optional switch called RANKS, that it can produce a
  24.      graph file, that the column to be studied must be
  25.      specified, and that finally one can add logical and
  26.      arithmetic conditions limiting the rows to be studied by
  27.      entering IF followed by a condition. This means that one
  28.      can enter for instance:
  29.  
  30.      BASICS RANKS C1 IF (C2-C3)<7
  31.  
  32.      This command would cause the basic description of the
  33.      values in column 1 to be displayed (their mean, mode,
  34.      standard deviation, etc.), taking only those rows for
  35.      which the value in column 2 minus the value in column 3
  36.      was less than 7, and would also display the rank and
  37.      frequency table of the values. In the sections which
  38.      follow we will look at the individual aspects of command
  39.      format more closely.
  40.  
  41.  
  42.      4:1. Selecting a command
  43.  
  44.      Here is the list of commands available (it is displayed
  45.      by EASISTAT when the HELP command is selected):
  46.  
  47.      Help                              Titles
  48.      Basics [G] [ranks] col [if cond]  Data [save] [filename]
  49.      List [if cond or variables]       Chisq [G] [Fish] [Num] [c r]
  50.      Wilcoxon [S] [col]                Ttest [paired]
  51.      Anova [G or N] [col]              Kendall's [col col]
  52.      Kolmogorov [G] [col]              Regress [G] [col col [col]]
  53.      Multiple regression [col [col]]   Component analysis [G]
  54.      Minimise [expression]             Narrow cond
  55.      Widen [cond]                      Arithmetic [expression]
  56.      New [col or row or next]          Label [col [name]]
  57.      Format [col or def [width dec]]   Derive [col [expression]]
  58.      Delete [col or row or all]        Echo
  59.      Input [filename or close]         Output [filename or close]
  60.      Log [filename or close]           Edit
  61.      Screen                            Sort [d[own]] [col]
  62.      Pause                             System [command]
  63.      Limits [cl]                       Copy [lc,tr,rc,br,new lc,new tr]
  64.      Macro [list or label exp]         Quit
  65.      
  66.        24 
  67.         Command syntax   
  68.      
  69.      To select one of these commands when asked simply type in
  70.      the first part of the first word of the name of the
  71.      command. You do not have to type in the whole word.
  72.      EASISTAT will select the first command from the above
  73.      list that matches the letters you have typed. So to
  74.      select the BASICS command you could type:
  75.  
  76.      BASICS
  77.  
  78.      or:
  79.  
  80.      BAS
  81.  
  82.      or:
  83.  
  84.      B
  85.  
  86.      Note that if you type:
  87.  
  88.      W
  89.  
  90.      you will get the WILCOXON command and not the WIDEN
  91.      command. If you want the WIDEN command you would have to
  92.      type at least:
  93.  
  94.      WID
  95.  
  96.      Remember eveything can be typed in upper or lower case,
  97.      or a mixture. So:
  98.  
  99.      b
  100.  
  101.      is just as good as:
  102.  
  103.      BASICS
  104.  
  105.      To use the same example given above, one could type:
  106.  
  107.      B RANKS C1 IF (C2-C3)<7
  108.  
  109.      or:
  110.  
  111.      bas ranks c1 if (c2-c3)<7
  112.  
  113.      and achieve just the same result.
  114.  
  115.      When the format of a command is described in this manual,
  116.      square brackets are put round the optional letters of the
  117.      command name, e.g.:
  118.  
  119.       B[asics]
  120.       Wid[en]
  121.  
  122.  
  123.      4:2. Command options
  124.  
  125.      Some of the commands can have different options attached
  126.      to them. An option appears in square brackets in the list
  127.      above and when the manual describes each command. An
  128.      option can be selected or not, and sometimes more than
  129.      one option can be selected. BASICS has an option, RANKS,
  130.      which makes it print out a list of values in rank order
  131.      
  132.        25 
  133.         Command syntax   
  134.      
  135.      together with values for rank, percentage and cumulative
  136.      percentage. An option can often be abbreviated down to
  137.      the first letter, although the whole word can be typed
  138.      for clarity. Taking the above example one could enter:
  139.  
  140.      BASICS RANKS C1 IF (C2-C3)<7
  141.  
  142.      or:
  143.  
  144.      b r c1 if (c2-c3)<7
  145.  
  146.      If the "r" is left out, the BASICS command will do
  147.      exactly the same thing but without also producing the
  148.      rank/frequency table:
  149.  
  150.      b c1 if (c2-c3)<7
  151.  
  152.      If the option to produce a graph file is selected then a
  153.      file containing data to produce a frequency histogram
  154.      will be written to disk and EASIGRAF will be run to
  155.      display the graph:
  156.  
  157.      b g c1
  158.  
  159.      The final option available in BASICS is IF followed by a
  160.      condition which specifies which rows to study. IF is
  161.      exceptional in that it must be written in full, just "I"
  162.      would not be adequate. This option similarly can be left
  163.      out, in which cases all the rows will be included in the
  164.      analysis:
  165.  
  166.      b c1
  167.  
  168.      or:
  169.  
  170.      BASICS C1
  171.  
  172.      When using the BASICS command it is obligatory to specify
  173.      the column for which the statistics are to be provided.
  174.      For some of other the commands a column or filename is
  175.      shown as being optional by being put in square brackets.
  176.      This means that you do not have to type the column in the
  177.      command line, but then you will be asked by EASISTAT to
  178.      specify which column you mean in a second line. It's just
  179.      a question of convenience for you whether you put the
  180.      column into the command line or not. When you first start
  181.      to use EASISTAT it is better just to select a command and
  182.      then EASISTAT will ask you for other details, but as you
  183.      grow more familiar with the program you may feel like
  184.      typing more into the first line. There is an important
  185.      point however. Although if you omit a necessary parameter
  186.      like a column number you will usually be asked to supply
  187.      it, in contrast if you omit an option like RANKS or IF
  188.      from the command line you cannot add it in later in a
  189.      second line. All the command options must be specified in
  190.      the command line.
  191.  
  192.  
  193.      4:3. Referring to entries in
  194.      the data table
  195.  
  196.  
  197.      
  198.        26 
  199.         Command syntax   
  200.      
  201.      EASISTAT is based around the concept that there is a
  202.      table of values with all the different measured variables
  203.      attached to one data object (eg an experimental subject)
  204.      are in one row, and that they are arranged in columns
  205.      according to the quantity they measure. So one column
  206.      might be for temperature, another for mass, etc. and one
  207.      row might be for one rock and another row for another.
  208.      Thus the statistical commands essentially operate down
  209.      columns rather than across rows - the mean of one rock's
  210.      weight and temperature would make little sense.
  211.  
  212.      In almost all commands we need to be able to tell
  213.      EASISTAT which columns we want to look at and one way to
  214.      do this is to type C followed immediately (no space) by a
  215.      number between 1 and the number of columns there are,
  216.      e.g. C1, c3, c25. We used this syntax in the example
  217.      above when we said:
  218.  
  219.      b c1
  220.  
  221.      meaning calculate the basic statistics of all the values
  222.      appearing in the first column. Occasionally we may wish
  223.      to refer to a specific row - when we want to delete a
  224.      certain row perhaps. To do this we type the keyword ROW
  225.      followed by a space and then the number of the row we
  226.      mean, e.g. row 4, ROW 29.
  227.  
  228.      Every column of the table also has a label, which appears
  229.      at the top of the column in the data file and when using
  230.      the data editor. This would usually describe what it is
  231.      that the values in that column are measures of, such as
  232.      AGE or SEX. These labels can also be used to refer to the
  233.      columns so that if the second column is labelled AGE then
  234.      the following both mean the same thing:
  235.  
  236.      BASICS AGE
  237.  
  238.      BASICS C2
  239.  
  240.      In the logical and arithmetic expressions described below
  241.      it is necessary to refer to the values which appear in
  242.      cells in different rows. The rows are looked at one at a
  243.      time and then the value specified is taken from that row,
  244.      so that in a logical expression c15 means "the value
  245.      appearing in column 15 of the row I am currently
  246.      interested in". In this context the keyword ROW (here
  247.      appearing with no number after it) means "the number of
  248.      the row I am currently interested in". In fact, we don't
  249.      think you'll be referring to rows much and the whole
  250.      thing should become fairly clear with a few examples.
  251.  
  252.  
  253.      4:4. Logical expressions
  254.  
  255.      In the example above there is a condition which specifies
  256.      which rows are to be included in the analysis, and in
  257.      general a condition is a statement of a logical
  258.      expression which is either true or false. So c5>6 is true
  259.      for a given row if the value in the fifth column of that
  260.      row is 9, but false if it is 2. Conditions are used to
  261.      specify whether or not a row belongs to a given group or
  262.      not, and in the example given whether or not it should be
  263.      
  264.        27 
  265.         Command syntax   
  266.      
  267.      included with the other values towards deciding the
  268.      sample mean, standard deviation, etc.
  269.  
  270.      b c1 if (c2-c3)<7
  271.  
  272.      means that if the statement given is true for a
  273.      particular row then the value in column one will be taken
  274.      and added to the sample and incorporated in the
  275.      measurement of mean and standard deviation, but if not
  276.      that particular row will be ignored for the purpose of
  277.      the current analysis and left out of the sample.
  278.  
  279.      Here is a list of all the logical operators:
  280.  
  281.      x | y     x OR y     (either can be true)
  282.      x & y     x AND y    (both must be true)
  283.      x != y    x NOT EQUAL TO y
  284.      x = y     x EQUAL TO y
  285.      x < y     x LESS THAN y
  286.      x > y     x GREATER THAN y
  287.      x <= y    x LESS THAN OR EQUAL TO y
  288.      x >= y    x GREATER THAN OR EQUAL TO y
  289.      ! x       NOT x
  290.  
  291.      The expression is true if the relationship between x and
  292.      y is as described, but false if not. The OR relationship
  293.      is true if either condition x or condition y is true, and
  294.      the AND relationship is true only if both condition x and
  295.      condition y are true. (Note that the symbol for the OR
  296.      operator, |, appears as a broken vertical line on most
  297.      keyboards and is usually found on the same key as the
  298.      backslash, \.) Here are some examples:
  299.  
  300.      c13>c12 
  301.      - the value in column 13 must be higher than the value in
  302.      column 12
  303.  
  304.      c13<=c12 
  305.      - the value in column 13 must be less than or equal to
  306.      the value in column 12
  307.  
  308.      !(c13>c12) 
  309.      - the value in column 13 must not be greater than the
  310.      value in column 12, i.e. the same effect as the previous
  311.      example
  312.  
  313.      c5>5 
  314.      - the value in column 5 must be greater than 5
  315.  
  316.      (c5>5)|(c6<10) 
  317.      - either the value in column 5 must be greater than 5 or
  318.      the value in column 6 must be less than 10 for the
  319.      condition to be true
  320.  
  321.      (c5>5)&(c6<10) 
  322.      - both the value in column 5 must be greater than 5 and
  323.      the value in column 6 must be less than 10 for the
  324.      condition to be true
  325.  
  326.      (c5>5)&(c5<10) 
  327.      - the value in column 5 must both be greater than 5 and
  328.      less than 10, i.e. the value in column 5 must lie between
  329.      
  330.        28 
  331.         Command syntax   
  332.      
  333.      5 and 10
  334.  
  335.      (c5=3)|(c5=5)|(c5=7) 
  336.      - the value in column 5 must be 3, 5 or 7
  337.  
  338.      (c5=3)&(c5=5)&(c5=7) 
  339.      - this can never be true, the value in column 5 cannot be
  340.      3 and 5 and 7 all at once
  341.  
  342.      (c5!=3)&(c5!=5)&(c5!=7) 
  343.      - the value in column 5 must be anything except 3, 5 or 7
  344.  
  345.      (c5=2.2) | (((c5>5) & (c5<10)) & !((c5>6) & (c5<7))) 
  346.      - the value in column 5 can be 2.2, or else it must lie
  347.      between 5 and 10 but must not lie between 6 and 7
  348.  
  349.      So you see expressions can be made as simple or as
  350.      complicated as you like, and sub-clauses are contained in
  351.      brackets. In fact the brackets are not always necessary -
  352.      see the section below on operator precedence. Spaces
  353.      occurring in logical and arithmetic expressions are
  354.      ignored.
  355.  
  356.      When the keyword ROW is used in a condition then the
  357.      number of the row itself is tested, so:
  358.  
  359.      row<5
  360.  
  361.      is true if the number of the row is less than 5, i.e. one
  362.      of the first four rows.
  363.  
  364.      Contrast this to:
  365.  
  366.      c1<5
  367.  
  368.      which as we have already discussed means the rows for
  369.      which the value in the first column is less than 5.
  370.  
  371.      There is no reason why references to rows and column
  372.      cannot be combined in the same expression, e.g.:
  373.  
  374.      (c1<10) & (row<5)
  375.  
  376.      or even:
  377.  
  378.      c1<row
  379.  
  380.      Note to users familiar with spreadsheets:
  381.  
  382.      You will probably realise that these references to values
  383.      are what are usually called relative references, they
  384.      relate only to the column of the row in question. There
  385.      is for example no direct way to compare values in an
  386.      expression to the value in the third column of the fifth
  387.      row - an absolute reference. A partial exception to this
  388.      allowing references to the values in the first valid row
  389.      only is described in the section on the ARITHMETIC
  390.      command.
  391.  
  392.  
  393.  
  394.  
  395.      
  396.        29 
  397.         Command syntax   
  398.      
  399.      4:5. Arithmetic expressions
  400.  
  401.      When we said C2-C3 in the first example, that was an
  402.      arithmetic expression meaning (obviously) the value in
  403.      column 2 minus the value in column 3. Many other
  404.      operations are available, and here is a complete list:
  405.  
  406.      x + y     x MINUS y
  407.      x + y     x PLUS y
  408.      x mod y   x MODULO y
  409.      x / y     x DIVIDED BY y
  410.      x * y     x TIMES y
  411.      x pow y   x TO THE yTH POWER
  412.      x pX y   PROBABILITY OF CHI-SQUARED x WITH y DEGREES OF
  413.                  FREEDOM
  414.      x pT y    PROBABILITY OF STUDENT'S T x WITH y DEGREES OF
  415.                  FREEDOM
  416.      - x       NEGATIVE x
  417.      abs x     ABSOLUTE VALUE OF x
  418.      pN x      ONE-TAILED CUMULATIVE PROBABILITY OF x IN A NORMAL
  419.                  DISTRIBUTION
  420.      log x     LOG x BASE 10
  421.      ln x      NATURAL LOG OF x (base e)
  422.      exp x     e TO THE xTH POWER (natural antilog)
  423.      lfact x   NATURAL LOG OF FACTORIAL x
  424.      sin x     SIN x RADIANS
  425.      arcsin x  ARCSIN x IN RADIANS
  426.      cos x     COS x RADIANS
  427.      arccos x  ARCCOS x IN RADIANS
  428.      tan x     TAN x RADIANS
  429.      arctan x  ARCTAN x IN RADIANS
  430.  
  431.      Arithmetic expressions can be written out just as they
  432.      would appear on paper, again with brackets to clarify the
  433.      order of operations:
  434.  
  435.       c3+c4*6
  436.       (c3+c4)*6
  437.       (c4*c5)pow3
  438.       (c4*c5*c6)pow(1/3)
  439.  
  440.      The last example takes the geometric mean of columns 4,
  441.      5, and 6. It multiplies them together and then takes the
  442.      cube root of the product.
  443.  
  444.      c13 pX 3
  445.  
  446.      This example would take the value in column 13 to be a
  447.      chi-squared statistic with three degrees of freedom and
  448.      computes its probablility, or p value. See the section on
  449.      the ARITHMETIC command for details of how to use EASISTAT
  450.      as a set of statistics tables to look up.
  451.  
  452.      Numbers can be written for arithmetic expressions either
  453.      as ordinary decimal numbers (37, -45.236, 11.4) or using
  454.      exponential notation, where the mantissa is followed
  455.      immediately by an E and the power of ten to multiply it
  456.      by. Thus 3.3e5 is the same as 330000 and 2.7e-4 means
  457.      0.00027. The results of the ARITHMETIC command are output
  458.      in this format where appropriate.
  459.  
  460.  
  461.      
  462.        30 
  463.         Command syntax   
  464.      
  465.      4:6. Operator precedence
  466.  
  467.      Operator precedence means the order in which logical or
  468.      arithmetic operations are performed. We are all familiar
  469.      with the idea that:
  470.  
  471.      3+4/2
  472.  
  473.      means three added to four-divided-by-two and not three-
  474.      plus-four divided by two, so that the answer is 5 and not
  475.      3.5.
  476.  
  477.      Here is a complete list of operator precedences:
  478.  
  479.       x pX y       x pT y
  480.       x pow y
  481.       x / y        x * y
  482.       x - y        x + y
  483.       x < y        x > y        x <= y        x >= y
  484.       x != y       x = y
  485.       x & y
  486.       x | y
  487.  
  488.      The higher up an operator is, the sooner it is performed,
  489.      as if it was enclosed in a pair of brackets. Operators in
  490.      the same line are evaluated left to right, in the order
  491.      in which they are read. This means that writing:
  492.  
  493.      c1+c2*c3+c4powc5*4pt15
  494.  
  495.      is equivalent to writing:
  496.  
  497.      c1 + (c2*c3) + ((c4powc5)*(4pt15))
  498.  
  499.      but that writing:
  500.  
  501.      c1-c2+c3
  502.  
  503.      is equivalent to writing:
  504.  
  505.      (c1-c2)+c3
  506.  
  507.      If you want the operations carried out in any other order
  508.      then you have to explicitly specify it yourself using
  509.      brackets.
  510.  
  511.      Note that you do not have to use brackets in the
  512.      expression:
  513.  
  514.      (c5>5)&(c5<10)
  515.  
  516.      because:
  517.  
  518.      c5>5&c5<10
  519.  
  520.      will be interpreted in exactly the same way - the > and <
  521.      take precedence over the &.
  522.  
  523.  
  524.  
  525.  
  526.  
  527.      
  528.        31 
  529.         Command syntax   
  530.      
  531.      4:7. Combining arithmetic
  532.      and logical operations
  533.  
  534.      Not only can arithmetic and logical operations be
  535.      arbitrarily complex, they can also be combined together
  536.      in very flexible ways. Of course we have already seen
  537.      examples of this because "(c2-c3)>7" combines an
  538.      arithmetic expression, "c2-c3", with a logical one,
  539.      "result>7".
  540.  
  541.      If this is the first time you are reading this manual
  542.      then you may want to skip this section and come back to
  543.      it later. Still here? Okay, here we go. The first point
  544.      is that arithmetic values also have a logical value,
  545.      which means that any number not equal to zero is
  546.      logically true and any number equal to zero is false. So:
  547.  
  548.      1              is true
  549.      0              is false
  550.      4-3            is true
  551.      3-4            is true
  552.      3-3            is false
  553.      3|1.5|0        is true
  554.      3&1.5&0        is false
  555.  
  556.      The second, more useful, point is that any logical
  557.      expression has an arithmetic value, which is 1 if it is
  558.      true and 0 if it is false. So:
  559.  
  560.      3<4            = 1
  561.      3>4            = 0
  562.      (3<4)+(4<5)    = 2
  563.  
  564.      Which means we can write:
  565.  
  566.      c3*(c2<c3) + c2*(c2>=c3)
  567.  
  568.      to mean "whichever is higher of c2 and c3". If c3 is
  569.      higher then the value inside the first brackets will be
  570.      true, so 1. Then we multiply c3 by 1 and get c3. But the
  571.      value in the second brackets will be false, or 0, and c2
  572.      multiplied by 0 is 0 and the whole expression will
  573.      evaluate to c3*1+0, or c3. If c2 is higher than c3 or
  574.      equal to it then c2 will be given as the result.
  575.  
  576.      Here's another one:
  577.  
  578.      LN( C15*(C15>0) + 0.0001*(C15<=0) )
  579.  
  580.      The idea of this is to take the natural log of c15. But
  581.      if c15 were less than or equal to zero then trying to
  582.      take its log would cause an error, so what this
  583.      expression in fact does is to take the natural log of c15
  584.      if it greater than zero, but otherwise it takes the
  585.      natural log of 0.0001.
  586.  
  587.      We hope this gives you an idea of the principles
  588.      involved. You can do almost anything with the operators
  589.      provided, though some things are a bit long-winded. More
  590.      examples will be given in individual command
  591.      descriptions, and especially in the descriptions of the
  592.      ARITHMETIC, MACRO and INPUT commands.
  593.      
  594.        32 
  595.         Command syntax   
  596.      
  597.      Incidentally, perhaps you can see now why we could not
  598.      just write:
  599.  
  600.      5<c5<10
  601.  
  602.      to specify that c5 should lie between 5 and 10. EASISTAT
  603.      would interpret the expression as follows: 5<c5 is either
  604.      true or false; if it is true it has a value of 1 and if
  605.      it is false it has a value of 0; whether it has a value
  606.      of 0 or 1 it will still be less than 10, so the
  607.      expression as a whole will always be true.
  608.  
  609.  
  610.      4:8. General purpose
  611.      variables
  612.  
  613.      As well as the values in the data table, EASISTAT
  614.      provides a number of other variables which are not needed
  615.      for the standard statistical tests but which may be used
  616.      for a variety of other purposes and are particularly
  617.      useful for general mathematical manipulations. Firstly,
  618.      there are twenty general purpose variables which can be
  619.      set to any values and used in arithmetic and logical
  620.      expressions. These variables are referred to as V1,
  621.      V2...V20, but they can also be labelled like the data
  622.      columns and then referred to by these labels. The values
  623.      are set by the DERIVE command and the labels are set by
  624.      the LABEL command. For example if one wishes to have a
  625.      value for pi available in expressions one could enter:
  626.  
  627.       LABEL V1 PI
  628.       DERIVE PI ARCCOS(-1)
  629.  
  630.      This would set the label of first general purpose
  631.      variable to be pi, and then set its value to be the
  632.      arccos of -1 in radians. It could thereafter be referred
  633.      to in expressions as pi, e.g.:
  634.  
  635.      C2+PI*C3
  636.  
  637.      These variables can be displayed with the command:
  638.  
  639.      LIST VARIABLES
  640.  
  641.      which can be shortened to:
  642.  
  643.      L V
  644.  
  645.      There are three special variables which are set by the
  646.      BASICS command, and these are referred to as XNUMBER,
  647.      XTOTAL and XMEAN. When the BASICS command is carried out,
  648.      XNUMBER is set to the number of items present (valid rows
  649.      used), XTOTAL is set to the total of the values used and
  650.      XMEAN is set to the mean of the values (which would be
  651.      XTOTAL/XNUMBER). The purpose of these variables is to
  652.      make possible the construction of other statistical tests
  653.      which may not be directly built in to EASISTAT. The
  654.      values obtained from the BASICS command can be used in
  655.      subsequent arithmetic expressions. An example of this is
  656.      given in the section on the INPUT command.
  657.  
  658.  
  659.      
  660.        33 
  661.         Command syntax   
  662.      
  663.      As an extension to this there are another twenty
  664.      variables which are set by the BASICS command and other
  665.      statistical commands. These are referred to as VV1,
  666.      VV2...VV20. How these are set for each command can be
  667.      discovered by displaying them after the command is
  668.      performed. They are displayed by the command:
  669.  
  670.      LIST VV
  671.  
  672.      So if for example one wishes to use the value of the
  673.      standard error of the mean as calculated by the BASICS
  674.      command one could enter the following:
  675.  
  676.       BASICS C5
  677.       LIST VV
  678.  
  679.      It then becomes clear that VV7 has been set to the
  680.      standard error. If one wished to make a permanent copy of
  681.      it one could then set one of the first twenty variables
  682.      to have that value, since the value of VV7 itself will be
  683.      changed by the next statistics command which is
  684.      performed:
  685.  
  686.      DERIVE V1 VV7
  687.  
  688.  
  689.      4:9. Rules for label names
  690.  
  691.      There are certain rules which must be followed for the
  692.      labels used so that expressions will be parsed correctly.
  693.      In general any combination of letters and digits can be
  694.      used for the column titles and the labels of variables,
  695.      but there are certain exceptions. Also note that there is
  696.      no difference between upper and lower case letters, and
  697.      that spaces in expressions are ignored.
  698.  
  699.      a) Don't start any label with a digit e.g. 1stname, 2A,
  700.      etc.
  701.  
  702.      b) Don't start any label with a C or a V or a VV followed
  703.      by a digit e.g. C2D, c40, v2, VV4xyz, etc.
  704.  
  705.      c) Don't call any column or variable ROW, P, G, E, RANKS,
  706.      ZED, XNUMBER, XTOTAL or XMEAN.
  707.  
  708.      d) Don't start any label with the name of a mathematical
  709.      function e.g. sint (uses SIN), pname (uses pN), etc. See
  710.      the full list of arithmetic operators above.
  711.  
  712.      e) Don't start any label with the name of another column
  713.      or variable, i.e. if one column is called DA, then no
  714.      column or variable label must begin with the letters DA.
  715.      (Strictly speaking this rule only applies to columns to
  716.      the right of the first one, that is to say if that one
  717.      column is titled DA then no column to the right of it
  718.      should begin with DA.)
  719.  
  720.      If you get any problems with syntax errors or expressions
  721.      not behaving as you think they should then come back and
  722.      check these rules. For example if you did have a column
  723.      called PNAME, then the expression sin(PNAME) would give
  724.      you a syntax error with AME, because the parser would
  725.      
  726.        34 
  727.         Command syntax   
  728.      
  729.      think that the PN referred to the normal probability
  730.      function. Similarly if you had a column labelled 4 then
  731.      the expression <4 would not mean "less than 4" but "less
  732.      than the value in the column labelled 4".
  733.  
  734.  
  735.  
  736.  
  737.  
  738.  
  739.  
  740.  
  741.  
  742.  
  743.  
  744.  
  745.  
  746.  
  747.  
  748.  
  749.  
  750.  
  751.  
  752.  
  753.  
  754.  
  755.  
  756.  
  757.  
  758.  
  759.  
  760.  
  761.  
  762.  
  763.  
  764.  
  765.  
  766.  
  767.  
  768.  
  769.  
  770.  
  771.  
  772.  
  773.  
  774.  
  775.  
  776.  
  777.  
  778.  
  779.  
  780.  
  781.  
  782.  
  783.  
  784.  
  785.  
  786.  
  787.  
  788.  
  789.  
  790.  
  791.      
  792.        35 
  793.  
  794.