MrF  Documentation - Version  1.0

Jeff Miller*
Department of Psychology
University of Otago
Dunedin, New Zealand
1 July, 1996

*Thanks to Patricia Haden for helpful suggestions concerning the documentation
and user-interface,  and to Alann Lopes for assistance with programming the
log files.

Copyright 1996, Jeff Miller.

This program and documentation can be duplicated and used without charge
for any educational or noncommercial purposes.  If you do use it, please send
me an acknowledgement letter, once a year or so, saying how you use it (see
sample at end of this documentation).  If I get enough such letters, I'll put
this piece of software on my vita and maybe get some credit for it with the
university.  Besides, both my kids collect stamps.

For commercial use, please contact the author.


Contents
-----------------------------------------------------------
1    Introduction                                                2
2    Installation of MrF                                         2
3    Preparing the Input Data File                               3
     3.1    How to Order Data Lines in the Input Data File       8
            3.1.1  How to Order the Subjects.                    8
            3.1.2  How to Order the Conditions For Each Subject. 9
     3.2    Lexicographic Data Ordering                          9
4    Running MrF                                                11
     4.1    Giving Commands and Instructions to MrF             12
     4.2    The First Step in MrF: Option Setting               12
     4.3    Opening the Input Data File                         14
     4.4    Specifying Your ANOVA Design                        14
5    MrF Main Analysis Section                                  18
6    Transformation of Dependent Variables                      25
7    Translations                                               26
     7.1    Translating Groups                                  28
     7.2    Translating Conditions and/or DV's                  30
     7.3    Specifying the Translation                          31
     7.4    Average Translations                                32
     7.5    Class 1 Translations                                32
     7.6    Class 2 Translations                                34
     7.7    Translations of Conditions                          35
8    Building a Log File                                        38
9    Running MrFB                                               39
10   Shortcuts for Entering Values                              40
11   Sample Acknowledgement Letter                              43

1   INTRODUCTION

MrF (``Mister F'') is an Analysis of Variance program for IBM-compatible
micro-computers running some version of the DOS operating system. (A version
for OS/2 is also available, but lacks the graphics features.) It performs
multifactor ANOVA for equal cell size factorial designs (including repeated
measures designs), with a single random term in the model (i.e., subjects).
The numbers of factors and levels are limited only by the RAM in your
computer; I have never seen Mrf run out of memory, and I have analyzed designs
with up to 8 factors --- 4 within-subjects. MrF can also analyze multiple
dependent variables (DVs) on the same run. It can perform some common
transformations on the dependent variables. An advanced feature of the program
is its ability to restructure a factorial data set using what I call
``translations.'' For example, translations allow you to average together or
omit certain factor levels, allowing easy analysis of subsets of an overall
data set.

Before using MrF, a data-file is first prepared using a text editor or (better
yet) written by the data collection program if the data are collected online.
Then you start MrF and interactively describe the factorial structure of the
desired ANOVA. That is, the program prompts for the information it needs, and
waits for you to type in the answer. Most prompts are fairly verbose, so the
program is nearly self-documenting after you've used it once or twice.

After the data file has been described and processed, you view the
results interactively. You can view any or all lines of the ANOVA table,
including regular p values and p values adjusted with the Geisser-Greenhouse
correction where appropriate. Selected cell and marginal means can be
displayed in numerical or graphical forms, and you can perform post-hoc
comparisons on the means for any single factor, including trend analysis
(equally or unequally spaced levels) and four kinds of post-hoc comparisons
(LSD, Newman-Keuls, Tukey, and Scheffe). Except for the graphs, any output can
be written to a disk file in addition to being displayed on the computer
screen. In addition, a ``batch'' version of the program known as MrFb is
available for carrying out ANOVA computations without operator intervention.


2       INSTALLATION  OF  MrF
You should only have to copy the file Mrf.Exe (and Mrfb.exe, if desired) to
some directory in the path of your computer.  MrF should run in any recent
version of DOS.  EGA graphics are required to display plots.

3       PREPARING  THE  INPUT  DATA  FILE
The first step in using MrF is to prepare a data file containing the data set
to be analyzed.  We will explain how this is done by going through an example.
We will assume that you know how to use some text editor to enter plain ASCII
text into a file; this section merely describes the contents of the file that
you are supposed to produce. Table 1 depicts a sample data set for a four
factor design (2 between-subject factors and 2 within-subject factors).

Table 1. Sample factorial data set, contained in the file MrfDoc.RPT. There
are two between-subjects factors: AGE (3 levels) and SEX (2 levels). There are
two within-subjects factors: season (3 levels) and TIME OF DAY (2 levels).
There are two subjects per group, and each is measured with respect to two
dependent variables (height at weight) at each testing occasion.

                        ---- Fall ----     --- Winter ----    --- Spring ----
Time of Day   Subject   Height   Weight    Height   Weight    Height   Weight
-----------------------------------------------------------------------------
Group 1: Gender 1 and Age 1
Morning          1       5.25      120      5.30      115      5.45     113
                 2       5.55      131      5.63      129      5.71     122
Evening          1       5.35      110      5.39      120      5.43     110
                 2       5.59      128      5.68      125      5.74     119
Group 2: Gender 1 and Age 2
Morning          3       5.24      117      5.31      120      5.33     114
                 4       5.65      150      5.55      142      5.71     137
Evening          3       5.19      112      5.41      112      5.39     110
                 4       5.67      145      5.59      139      5.68     128
Group 3: Gender 1 and Age 3
Morning          5       5.05      112      5.08      108      5.11     112
                 6       5.75      151      5.77      148      5.67     144
Evening          5       5.12      109      5.13      107      5.19     114
                 6       5.73      145      5.81      141      5.79     139
Group 4: Gender 2 and Age 1
Morning          7       6.01      175      6.08      178      6.14     167
                 8       5.85      160      5.85      158      5.79     171
Evening          7       6.11      183      6.12      181      6.21     172
                 8       5.75      164      5.86      165      5.82     163
Group 5: Gender 2 and Age 2
Morning          9       5.95      210      5.83      200      5.86     212
                10       6.25      190      6.29      194      6.31     192
Evening          9       5.87      204      5.92      190      5.93     217
                10       6.35      187      6.37      197      6.33     187
Group 6: Gender 2 and Age 3
Morning         11       6.10      163      6.17      168      6.20     171
                12       6.35      220      6.41      219      6.35     231
Evening         11       6.13      175      6.15      170      6.22     176
                12       6.39      214      6.37      225      6.39     230

In this hypothetical study, height and weight were measured for people of both
sexes and each of three age groups. For each person, height and weight were
measured in the winter, spring and summer, once in the morning and once at
night. Thus there are two DV's (height and weight), two within-subjects
factors (SEASON and TIME OF DAY), and two between-subjects factors (SEX and
AGE). Table 2 shows one acceptable input file conveying these data to MrF.
Hopefully, this concrete example will help give substance to the more
abstract definitions below.

Table 2.  An acceptable MrF input file for the data in Table 1.
Lines beginning with an asterisk are optional, as is the text at the ends
of the lines with data values.
* Sample data set for documentation
*
*  Two between-subjects factors: SEX and AGE
*  Two within-subjects factors: season and TIME OF DAY
* 
*     Factor     Levels
*     SEX          2     (slowest moving)
*     AGE          3     (2nd slowest moving)
*     season       3     (3rd slowest moving)
*     TIME OF DAY  2     (4th slowest moving - that is, fastest moving)
* The ``season'' factor is in lower case for a reason to be explained later
* The two DV's are height and weight
*
* NOTE: In the data lines below, the information in parentheses is not
*       used by the program, and is only included to help make the example
*       clearer.
*
* The next line is the header line, giving the number of groups,
*  number of conditions per subject, and number of DV's
 6 6 2
* group SEX 1 and AGE 1:
*  subject 1
 5.25 120   (season 1 and TIME OF DAY 1)
 5.35 110   (season 1 and TIME OF DAY 2)
 5.30 115   (season 2 and TIME OF DAY 1)
 5.39 120   (season 2 and TIME OF DAY 2)
 5.45 113   (season 3 and TIME OF DAY 1)
 5.43 110   (season 3 and TIME OF DAY 2)
*  subject 2
 5.55 131   (season 1 and TIME OF DAY 1)
 5.59 128   (season 1 and TIME OF DAY 2)
 5.63 129   (season 2 and TIME OF DAY 1)
 5.68 125   (season 2 and TIME OF DAY 2)
 5.71 122   (season 3 and TIME OF DAY 1)
 5.74 119   (season 3 and TIME OF DAY 2)
* group SEX 1 and AGE 2:
*  subject 3
 5.24 117   (season 1 and TIME OF DAY 1)
 5.19 112   (season 1 and TIME OF DAY 2)
 5.31 120   (season 2 and TIME OF DAY 1)
 5.41 112   (season 2 and TIME OF DAY 2)
 5.33 114   (season 3 and TIME OF DAY 1)
 5.39 110   (season 3 and TIME OF DAY 2)
*  subject 4
 5.65 150   (season 1 and TIME OF DAY 1)
 5.67 145   (season 1 and TIME OF DAY 2)
 5.55 142   (season 2 and TIME OF DAY 1)
 5.59 139   (season 2 and TIME OF DAY 2)
 5.71 137   (season 3 and TIME OF DAY 1)
 5.68 128   (season 3 and TIME OF DAY 2)
* group SEX 1 and AGE 3:
*  subject 5
 5.05 112   (season 1 and TIME OF DAY 1)
 5.12 109   (season 1 and TIME OF DAY 2)
 5.08 108   (season 2 and TIME OF DAY 1)
 5.13 107   (season 2 and TIME OF DAY 2)
 5.11 112   (season 3 and TIME OF DAY 1)
 5.19 114   (season 3 and TIME OF DAY 2)
*  subject 6
 5.75 151   (season 1 and TIME OF DAY 1)
 5.73 145   (season 1 and TIME OF DAY 2)
 5.77 148   (season 2 and TIME OF DAY 1)
 5.81 141   (season 2 and TIME OF DAY 2)
 5.67 144   (season 3 and TIME OF DAY 1)
 5.79 139   (season 3 and TIME OF DAY 2)
* group SEX 2 and AGE 1:
*  subject 7
 6.01 175   (season 1 and TIME OF DAY 1)
 6.11 183   (season 1 and TIME OF DAY 2)
 6.08 178   (season 2 and TIME OF DAY 1)
 6.12 181   (season 2 and TIME OF DAY 2)
 6.14 167   (season 3 and TIME OF DAY 1)
 6.21 172   (season 3 and TIME OF DAY 2)
*  subject 8
 5.85 160   (season 1 and TIME OF DAY 1)
 5.75 164   (season 1 and TIME OF DAY 2)
 5.85 158   (season 2 and TIME OF DAY 1)
 5.86 165   (season 2 and TIME OF DAY 2)
 5.79 171   (season 3 and TIME OF DAY 1)
 5.82 163   (season 3 and TIME OF DAY 2)
* group SEX 2 and AGE 2:
*  subject 9
 5.95 210   (season 1 and TIME OF DAY 1)
 5.87 204   (season 1 and TIME OF DAY 2)
 5.83 200   (season 2 and TIME OF DAY 1)
 5.92 190   (season 2 and TIME OF DAY 2)
 5.86 212   (season 3 and TIME OF DAY 1)
 5.93 217   (season 3 and TIME OF DAY 2)
*  subject 10
 6.25 190   (season 1 and TIME OF DAY 1)
 6.35 187   (season 1 and TIME OF DAY 2)
 6.29 194   (season 2 and TIME OF DAY 1)
 6.37 197   (season 2 and TIME OF DAY 2)
 6.31 192   (season 3 and TIME OF DAY 1)
 6.33 187   (season 3 and TIME OF DAY 2)
* group SEX 2 and AGE 3:
*  subject 11
 6.10 163   (season 1 and TIME OF DAY 1)
 6.13 175   (season 1 and TIME OF DAY 2)
 6.17 168   (season 2 and TIME OF DAY 1)
 6.15 170   (season 2 and TIME OF DAY 2)
 6.20 171   (season 3 and TIME OF DAY 1)
 6.22 176   (season 3 and TIME OF DAY 2)
*  subject 12
 6.35 220   (season 1 and TIME OF DAY 1)
 6.39 214   (season 1 and TIME OF DAY 2)
 6.41 219   (season 2 and TIME OF DAY 1)
 6.37 225   (season 2 and TIME OF DAY 2)
 6.35 231   (season 3 and TIME OF DAY 1)
 6.39 230   (season 3 and TIME OF DAY 2)


     Every input data file for MrF can contain three types of lines:
notepad lines, a header line, and data lines.  Notepad lines are
optional; the header line and the data lines are required.

NOTEPAD LINES.  These are ignored by MrF, and they simply allow the user to
put helpful reminders in the data file. For example, I usually place header
lines at the beginning of every file describing the factorial structure of the
data file, and possibly some comments about how the data were collected or
summarized.

By definition, a notepad line is any line with an asterisk (*) as the first
character on the line. (Note that spaces are NOT allowed to precede the
asterisk on the line. The asterisk must be at the far left edge of the line.)

Notepad lines can appear anywhere in the file, but the ones at the very top of
the file (i.e., before the header line) are special, because MrF will display
them on the screen when you tell it to use that data file. Thus, you can use
the initial notepad lines to make sure you remember the contents and format of
the data file --- so you can be sure you are doing the analysis on the correct
data file, and so you can describe the data correctly to MrF --- or anything
else you want to remind yourself of every time you look at that file.

Other notepad lines (i.e., after the header line) are not displayed, but
simply ignored. These lines are often useful in entering and checking the data
file (e.g. to indicate the start of a new subject or group of subjects).

HEADER LINE. The header line is the first line in the file that begins with a
space (i.e., it is the first non-notepad line). It must consist of three
numbers (with one or more spaces between successive numbers).

The first number is the number of groups of subjects in the data file,
regardless of the factorial structure of those groups. If you have no
between-Ss factors, the number of groups is one. If you have only one
between-subjects factor, the number of groups is simply the number of levels
of that factor. If you have more than one between-subjects factor, the number
of groups is the product (across all between-Ss factors) of the numbers of
levels of each of these factors. In the tabled example, the data file contains
two between-subjects factors, one with 2 levels and one with 3 levels,
so there are a total of 2 x 3 = 6 groups in the data file.

The second number is the number of data lines per subject. Each condition must
be entered on a different line, so this is the same as the number of
conditions per subject (again, regardless of the factorial structure of those
conditions). For example, if there are no within-subjects factors there is
only one condition per subject. If there is one within-subjects factor, the
number of conditions is the number of levels of this factor. If there are two
or more within-subjects factors, the number of conditions is the product
(across all within-Ss factors) of the numbers of levels of each of these
factors.

The third number is the number of dependent variables (DV's) per line
(i.e. per condition).

DATA LINES. As mentioned above, each data line corresponds to one condition
for one subject. All data lines must begin with a blank space. Then, the
numerical value(s) of the DV(s) for that condition appear. If there is more
than one DV, values of different DV's must be separated by one or more
spaces. Tabs are not OK. Also, if there is more than one DV, the DV's must
appear in the same order (from left to right) on every data line.

3.1       How to Order Data Lines in the Input Data File
As described above, each data line is simply a series of numerical values for
the different DV's obtained for one subject in one condition. In order to
assign the different data values to the correct subjects and conditions, MrF
uses a common convention involving the order of the different lines within the
file (called ``lexicographic data ordering'' or ``slowest to fastest'').
This convention is the hardest thing you have to master to use MrF.

One of the restrictions of MrF is that all of the data lines for a given
subject must appear together in the data file. That is, the file must have all
the data for one subject, followed by all the data for another subject, etc.
In addition, the data for different conditions within a single subject must be
given in the same order for all subjects. Given these restrictions, the
problem of ordering data lines breaks into two subproblems: 1) How to order
the different conditions within a subject, and, 2) How to order the different
subjects.

3.1.1      How to Order the Subjects.
If there are no between-subjects factors, the different subjects can go in any
order, since all the subjects are part of a single group. If there is one or
more between-subjects factor, you have to order the subjects systematically so
that MrF can figure out which subjects belong to which group.
  FOOTNOTE: In this manual, ``group'' is defined as a collection
  of subjects who are the same on every between-Ss factor.
  So, in the tabled example, one group consists of the male subjects at
  one of the particular age groups.

With between-Ss factor(s), you have two options, so use whichever is more
convenient when you prepare your data file. One option is to put all the
subjects for Group 1 together at the beginning of the file, followed by all
the subjects for Group 2, followed by all the subjects for Group 3, and so on.
This option is referred to as having ``Groups together'' in the data file,
because all the subjects for a given group are together in the file.

The other option is to have the first subject from each group at the beginning
of the file (i.e. subject 1 from Group 1, subject 1 from Group 2, subject 1
from Group 3, and so on), followed by the second subject from each group (i.e.
subject 2 from Group 1, subject 2 from Group 2, subject 2 from Group 3, and so
on), followed by the third, fourth, and so on subject from each group. If
subjects are arranged this way, you have "Groups NOT together."

The sample input data file has "Groups together."

If there are two or more between-subjects factors, you have to use the
principles of lexicographic ordering (described below) to order the groups.

3.1.2      How to Order the Conditions For Each Subject.
If there are no within-subject factors, then there is only one condition for
each subject. Consequently, there is only one line per subject, and there is
no problem of order. (If you have several observations on each subject in a
single condition, you need to think of these observations as different levels
of a within-subjects factor called the ``replications'' factor.
Or, perhaps you should just analyze the average of these observations.)

If there is one within-subjects factor, all you need to do is put the
conditions in the same order for each subject. Just call one level of the
factor condition 1, another condition 2, and so on.

If there are two or more within-subjects factors, you have to use the
principles of lexicographic ordering (described below) to order the conditions
for each subject.

3.2       Lexicographic Data Ordering
The principles of lexicographic data ordering are used to order groups
systematically when there are two or more between-subjects factors, and they
are used to order conditions within a subject systematically when there are
two or more within-subject factors.
     To illustrate lexicographic ordering, let us begin with an example in
which there are two factors:  factor A, with 3 levels, and factor B, with 2
levels. There would be 6 possible combinations of levels of these two factors.
(You can think of these either as between-subjects factors or as
within-subjects factors.  If they are between-subjects factors, the six 
combinations correspond to six different groups, and the discussion below
indicates how to order the groups.  If they are within-subjects factors the
six combinations correspond to six different conditions in which each subject
is tested, and the discussion below indicates how to order the conditions
within a subject.)  There are only two legal lexicographic orderings for the
six possible combinations of levels:

                           Legal Order 1                 Legal Order 2
                           -------------                 -------------
                            A1        B1                  A1        B1
                            A1        B2                  A2        B1
                            A2        B1                  A3        B1
                            A2        B2                  A1        B2
                            A3        B1                  A2        B2
                            A3        B2                  A3        B2
                           -------------                 -------------
  Slowest Moving Factor:          A                             B
  Fastest Moving Factor:          B                             A

     Note that both orders start with the A1B1 combination, and that both
orders then proceed through all the levels of one factor before going to the
next level of the other factor.  When you do go to the next level of the other
factor, the level of the first factor goes back to 1.  The difference between
the two orders is that Order 1 goes through all the levels of B before it
changes to the next level of A, whereas Order 2 goes through all the levels of
A before it changes to the next level of B.
     In each order, one factor is referred to as the "fastest moving" factor
and the other factor is referred to as the "slowest moving" factor, to
indicate which factor changes fastest and which changes slowest as you move
from one combination to the next in the order.  For  example, in Order 1
factor B is fastest moving, because each time you go from one combination to
the next the level of factor B changes (moves).  Factor A is slowest moving,
because it changes as few times as possible as you go from one combination to
the next. In Order 2, the two factors are reversed with respect to "speed of
movement" (i.e., fastest vs. slowest).
     Given that there are two legal orders of the AB combinations, we need a
mechanism to tell MrF which one we used. The standard terminology is to
specify which factor is slowest moving and which is fastest, since that
uniquely specifies the order. This is the terminology used by MrF.
     It is easy to generalize the principles illustrated above to three or
more factors. With three factors, one factor moves slowest, one moves second
slowest, and one moves third slowest (i.e., fastest). Shown below are the 6
legal orders of 8 combinations from a set of three factors (A, B, and C) with
2 levels each.

       Order 1    Order 2    Order 3    Order 4    Order 5    Order 6 
       --------   --------   --------   --------   --------   --------
       A1 B1 C1   A1 B1 C1   A1 B1 C1   A1 B1 C1   A1 B1 C1   A1 B1 C1
       A1 B1 C2   A1 B2 C1   A1 B1 C2   A2 B1 C1   A1 B2 C1   A2 B1 C1
       A1 B2 C1   A1 B1 C2   A2 B1 C1   A1 B1 C2   A2 B1 C1   A1 B2 C1
       A1 B2 C2   A1 B2 C2   A2 B1 C2   A2 B1 C2   A2 B2 C1   A2 B2 C1
       A2 B1 C1   A2 B1 C1   A1 B2 C1   A1 B2 C1   A1 B1 C2   A1 B1 C2
       A2 B1 C2   A2 B2 C1   A1 B2 C2   A2 B2 C1   A1 B2 C2   A2 B1 C2
       A2 B2 C1   A2 B1 C2   A2 B2 C1   A1 B2 C2   A2 B1 C2   A1 B2 C2
       A2 B2 C2   A2 B2 C2   A2 B2 C2   A2 B2 C2   A2 B2 C2   A2 B2 C2
       --------   --------   --------   --------   --------   --------
Slowest:   A          A          B          B          C          C
Middle:    B          C          A          C          A          B
Fastest:   C          B          C          A          B          A

     To specify which order was used, it is only necessary to tell MrF which
factor is slowest moving, which is second slowest, and which is fastest.

The same sort of pattern applies when there are more than three factors. With
N factors, one factor ``moves slowest'', another ``moves second slowest'', and
so on down to the Nth slowest (i.e.\ fastest) moving factor. We use this
scheme to order the data in the input data file, and also to specify to MrF
what the order of the data actually is. When there is only one factor, of
course, one does not have to worry about slowest and fastest moving factors.
Simply pick an order of the levels of the factor and stick to it consistently.
     The above patterns exemplify the strategy you must use in ordering your
data, both for ordering the different conditions within a subject and for
ordering the different groups of subjects. Remember, all the data from a
single subject must be together in the input data file. (That is, all the
between-subjects factors must move slower than all the within-subjects
factors.)

4       Running MrF
After you have prepared and saved your data file as described above, you are
ready to run the MrF program itself. This section describes how to do that.

4.1       Giving Commands and Instructions to MrF

Throughout each run of MrF, the program will request information concerning
aspects of your design, desired analyses, etc.  To any request, MrF will
accept only three types of responses:

A single character.          In these cases, MrF will generally capitalize
        the  letters  corresponding  to  legal  responses.   Any  illegal
        response will be ignored. If there are no capitalized characters
        in the prompt line and the prompt line ends with a question
        mark, the legal responses are Y and N for yes and no.

A number.         A numerical response should be typed in followed
        by a space or the Enter key.  If an error is made in typing
        the number, type any alphabetic character.  The program
        will comment that you have typed an illegal number and
        ask you to try again.

A string of characters.      This is usually a name (e.g., name of a factor
        or an input or output file).  Type the name, followed by a return.

4.2       The First Step in MrF:  Option Setting
To  start  MrF,  you  simply  type  MrF  (return)  at  a  command prompt. The
initial display that appears when you execute MrF looks something like this:

MrF - An Analysis of Variance Program             Version 1.0:  July 1996
@Copyright 1996          Jeff Miller              Dept of Psychology
                         Univ of Otago            Dunedin, New Zealand

To begin, accept or change these three options:
(Change an option by typing the capital letter in its description.)

OPTION                             SETTING
----------------------------       -------
read data from Backup file         False
Groups together in file            False
create Logging file                False

Enter option code, . to continue with program, or ^E to exit :

     This display presents you with a number of options and their current
values, initially set to the defaults.  You can change any of these options,
or you can just type "." to go on if you want to leave them all in the default
states.  You can change the last two options back and forth several times if
you like to toggle.
Backup file.       MrF can read input from a previously created
        backup file (described later) or from a regular input data
        file as described above.  If you want to read from a backup
        file, type B. MrF will then ask you the name of the backup
        file and retrieve it, allowing you to skip straight to the main
        analysis menu.
Groups together in file.            As described in connection with the
        ordering of subjects in the data file, all the subjects from
        one group can be together in the file (in which case this
        should be TRUE), or the data file can have the first subject
        from each group followed by the second subject from each
        group,  and so on (in which case this should be FALSE).
        For example, "groups together" should be set to true when
        analyzing MrfDoc.Rpt.
        Type G to toggle.
create Logging file.          If you set this toggle to "true" by typing
        L, then MrF will write out a special file that can be used
        with MrFb to run in batch mode.  The file will be written
        out after you interactively specify the ANOVA design and
        the format of the data file, but before the analysis is actually
        computed. (Apologies: Documentation on the use of logging
        files and MrFb is sparse, at best.)

     When you are done setting options, hit the period to leave.

     If "Groups together in file" is TRUE when you quit setting options, MrF
will ask:

Number  of  subjects  per  group  in  input  file  :

     You type in the number of subjects per group, followed by a
space or the Enter key.

     Note: If the data file and ANOVA have different Ns per group, use the N
for the data file. This is an issue only if you want to use the translation
mechanism described below to average together certain groups from the raw data
file (e.g. compare groups 1 and 3 versus 2 and 4). In that case the number of
subjects per group in the data file is different from the number of subjects
per group in the analysis. When such a conflict arises, enter the number of
subjects per group in the data file at this point.

     If "Groups together in file" is false, MrF will not ask you to enter the
number of subjects per group, because it can just count the subjects as it
goes through the data file.

4.3       Opening the Input Data File
MrF will now ask for the name of the input data file.  You can type in any DOS
file name, including path if needed, followed by a return.  For historical
reasons, the data file is assumed to have the suffix ".RPT", so if you don't
specify any suffix, this default will be added.  To specify a data file with
no suffix, enter a period at the end, as in "FileName."
     MrF now opens the input data file and shows you the notepad lines at the
beginning of the file.  It will also tell you how many groups, lines
(conditions) per subject, and DV's are indicated by the header line.

4.4       Specifying  Your  ANOVA  Design
After the options are set, the next section of MrF is designed to help you
describe the factorial design of the ANOVA you want to compute.  That deserves
emphasis, because in the case where the data file and the ANOVA have different
structures, because a translation is used, it is the ANOVA design that you
specify first.
     The program gives you these four reminders about specifying this
structure, which are described in detail below:

Data file notes:
* Header lines from the input file are listed first, then these reminders:

IMPORTANT REMINDERS for description of ANOVA and data file designs:
 1) Always enter factor names from slowest to fastest moving.
 2) Factor and DV names are limited to 12 characters.
 3) Factor names should have different first letters.
 4) DV names should have different first letters.

Input file has:
  4 group(s),
  96 line(s) per subject,
  2 DV(s) per line.

Describe the ANOVA to be performed :

Number of DVs :

     Here are the detailed explanations that these "reminders" are
intended to remind you of.
    1.  MrF will very shortly ask you for the numbers of between- and
within-subject experimental factors (i.e., independent variables), the name of
each factor, and the number of levels of each factor. Initially, it refers to
the factors  as factor 1, 2, 3, etc., up to the number of factors that you
need. The choice of which is the first factor, which is the second factor,
etc., is not random. It is determined by the speed of movement of each factor.
The slowest moving factor is the first factor, the second slowest is the
second factor, etc.

Remember (see earlier section on lexicographic data ordering), the speed of
movement of the factors in your design is determined by order of data in your
input data file. Each data point comes from a single cell in your design.
As you proceed through the input file, you will have data from each level of
each factor in your design. At some point in your data file, as you go from
one data point to the next, you will be changing to a new level of one of your
experimental factors. For example, assume you have one between subjects factor
with three levels and five subjects at each level. In your data file you type
in the data for the five subjects from level one, then the five subjects from
level two and finally the five subjects from level three. The first five
values in this file are from the first level of the factor, but when you move
to the sixth value, you have changed or ``moved'' to the second level.

When you have several independent variables, as you go through your input
file, one of your factors will change levels before any of the others.
This is your fastest moving factor. The next factor to change levels is your
second fastest moving factor, etc. The factor which only changes levels after
all of the other factors have changed is your slowest moving factor.
Remember: when MrF asks for your first experimental factor it wants your
slowest moving factor, your second experimental factor should be your second
slowest moving factor and so on up to your last (and fastest moving) factor.
The speed of movement of your factors is determined by the way you type in
your data. Be sure to figure out the slowest to fastest order before you run
MrF.

Note:  Between-subjects factors must always move slower than within-subjects
factors.

    2.  When you type in names for the different factors and DV's,
        don't use any more than 10 characters.  You can use any
        printing characters (A-Z, a-z, 0-9, and printing special characters).

    3.  Choose factor names so that each factor name has a different
        first letter.  Later, you can then select a factor just by
        typing its first letter.

    4.  Like 3), only for DV's.  There will not be any problem if the name of
        a DV has the same first letter as the name of a factor.

     Now MrF will start asking you questions about the ANOVA to be performed.
These questions are so self-documenting that they are merely reproduced here,
with answers shown for the sample data set given earlier.  MrF prints
everything to the left of the colons (:), and the user types what is to the
right.  (After typing a number, type a space or return.  After typing a name,
type a return.)

          Number of DVs : 2
            Name for DV 1 : HEIGHT
            Name for DV 2 : WEIGHT
          
          Number of between-subject factors : 2
          Number of within-subject factors : 2
          
          Name for factor 1 : SEX
          Name for factor 2 : AGE
          Name for factor 3 : season
          Name for factor 4 : TIMEOFDAY
          
          SEX factor.  Number of levels : 2
          AGE factor.  Number of levels : 3
          season factor.  Number of levels : 3
          TIMEOFDAY factor.  Number of levels : 2


     The "season" factor was entered in lower case to avoid having the same
first letter as the "SEX" factor.  That is, upper and lower cases of a letter
count as different letters.

     Optional shortcut:    If you have many DVs and don't want to type in
names for them, you can just enter a period, followed by a return, for the
first DV name.  If you do that, MrF will automatically assign the names A-DV,
B-DV, C-DV, ... to your DVs.

The next three questions that MrF asks allow you to invoke the transformation
and translation features of the program. These are used when you want to
transform your DV(s) before the ANOVA, when you want to exclude or average
certain groups or conditions, etc. These features are explained later in the
documentation, since most users will want to begin with an ANOVA on the data
exactly as entered into the input data file. For now, just type N (for NO) in
response to each question.

Would you like to transform any DVs as they are read in : N

Data file has 6 groups.
 For the present analysis, do you want to modify the assignment
 of subjects to groups? N

Do you want any translation of conditions within a subject? N

    At this point MrF does some rudimentary calculations to see whether the
ANOVA you have asked for matches the data it is going to get. For example, if
there are 6 groups in the data file and you have asked for an ANOVA with one
between-subjects factor with 8 levels, then something is wrong. If you get an
error message at this point, rethink your factorial design specifications and
how they relate to the number of groups and conditions specified in the header
line of the data file.

Assuming that it does not detect any obvious design errors, MrF will next
process your data subject by subject through the data file, printing a message
as soon as it starts each subject. (Don't worry about the subject numbering in
these messages; MrF always uses 1, 2, 3, 4, ... regardless of your design.)
If the total number of subjects processed is not the same as the number of
subjects you think you have, you have probably made an error in describing the
design of your data file or in preparing the file itself. When MrF has
finished processing your data, it gives you the opportunity to  see the
results of your analyses and do further calculations, as discussed  below.

5       MrF Main Analysis Section

This is the main section of MrF, where you get an opportunity to look at your
results and use them in post-hoc calculations if you so desire.  MrF will
display this prompt:

Anova, Means, Graph, Posthocs, Var%, ggEpsilon, Backup, set Options, or Quit :

To choose one of these analysis options, simply type the capital letter in the
analysis you desire. For example, to see the ANOVA table for your data, type
'A'. You may go back and forth between these different choices as often as
you want, in any order.

ANOVA:         When you ask for the Anova table, you will receive
        the prompt "sources: All, One, or use P values."  These
        options allow you to choose which of the sources of variance
        in the ANOVA are displayed. If you respond to this prompt
        with 'A', MrF will display all of the sources in the analysis.
        If you respond with 'O' you will be asked to enter the one
        source you wish to see.  Specify this source using the first
        letter of the factor name for the source you want to see.
        If you want to see an interaction source, concatenate first
        letters of all the sources in the interaction.  For example,
        if you want to see the ANOVA source line for the SEX by
        TIMEOFDAY interaction, you would type ST. After you
        type the source, type a return.  The P-value option allows
        you to display only those sources significant at the current
        p-level.   (The default p-level is 0.05. You can change it
        using the Options command, described below.)
MEANS:         The MEANS option allows you to see cell and marginal
        means.  As with the ANOVA command, you may choose
        which sources you want to see with these options: "sources:
        All, One, or use P values."  Means will be presented in the
        "brief means" format by default, but you can change this
        (see the discussion of Brief means in the Options section).
        In the brief means format, the means are simply listed
        across the page, and you have to figure out which is which
        by looking at their order. The same principles of lexicographic
        ordering that are used for data input are used here.  For
        example, here is the brief means display of means for the
        AGE by TIME OF DAY interaction:

All DVs means for 3 Age by 2 Time
Height      :     5.72     5.75     5.77     5.81     5.83     5.87
Weight      :      145      145      165      161      162      162

        The first factor (Age) moves slower than the second (Time),
        so the conditions are Age1,Time1, then Age1,Time2, . . ..
        Here are the same means printed with brief means turned off,
        which only has the disadvantage that it takes more paper:
  
             Age      Time      Height      Weight
               1         1        5.72         145
               1         2        5.75         145
               2         1        5.77         165
               2         2        5.81         161
               3         1        5.83         162
               3         2        5.87         162

GRAPHICS:            This section is used to draw factorial plots. First,
        MrF wants to know whether to

        graph Main effect or Interaction  :

        If, for example, you wanted to graph the main effect of SEX
        you would enter M, because you want to see only one factor.
        If you wanted to see the SEX by TIMEOFDAY interaction
        you would enter I, because 2 factors are involved. The
        program next displays the first letters of the factor names,
        and asks you to select one as the factor to put along the X-
        axis (horizontal).  You specify this factor simply by typing
        the first letter of its name. If you asked for an interaction graph,
        you will next be asked to select a
        factor for symbol identification.  MrF has several different
        symbols that it uses for plotting points, and all points from
        the same level of this second factor will be plotted using
        the same symbol.  (Try it, it's pretty obvious).

        After you have specified the factors you want displayed in
        the graph, you are given the opportunity to fix the level of
        some other factors not varying of the graph:

   Would you like to fix the level of any of the other factors :

        For example, if you wanted to look at the SEX by TIMEOFDAY
        interaction for only the 1st AGE group, you would want to
        fix the AGE factor at level 1.  Type Y to indicate that you
        do want to fix some levels, select the AGE factor by typing
        A, and then select level 1.  A good way to look at three-
        way interactions is to draw a series of two-way interactions
        with a different fixed level of the third factor in each one.

POSTHOCS:       There are two quite distinct sets of routines within
        the posthocs section, and you choose between them in
        response to this prompt:  "Contrast, Trend analysis, or
        Neither:"  Contrast analysis is used to compare two or
        more levels of a factor, and trend analysis is used to look
        for linear or quadratic trends across the levels of a factor.
        Whichever one you choose, you are first asked to indicate
        which factor you want to use for the analysis.

        Contrast Analysis:   Contrasts are often used when a factor
              has three or more levels,  because they allow you to
              make a comparisons of one particular mean against
              another, compare one mean against the average of
              two others, compare the average of two against the
              average of another two, and so on. MrF first asks you
              to specify which factor defines the levels you will be
              comparing with your contrast:

              Factor codes are SAsT
              Select one for contrast :

              You can do two kinds of contrasts involving the levels
              of whichever factor you select, and the first question
              posed by the program in this section asks which you want:

              use Two or More than 2 means  :

              One kind of contrast is a difference between the means of two
              levels, and the other is a weighted sum of the means of more
              than two levels. (The first kind is really a special case of
              the second kind, but it is a common enough special case to
              deserve special program attention.) For example, if we wanted
              to compare AGE 1 against AGE 3, that would be a difference
              between two means. If we wanted to compare AGE 1 against the
              average of AGE 2 and AGE 3, that would be a comparison
              involving more than two means.

              If you select a comparison between two means, you
              are asked to enter the levels you want to compare:

                Contrast is level :    1
                  minus level :  3

              MrF then prints the observed value of the contrast
              (i.e., the difference in means between level 1 and 3),
              and the critical ranges for the LSD, Newman-Keuls,
              Tukey, and Scheffe methods of comparing the means.
              The ranges use the default error probability of 0.05
              (95%  confidence) unless you change the probability
              with the Options command (see below).

              If you select a comparison between more than two
              means, you are asked to indicate how many means
              enter into your comparison:

                   Use how many means :   3

              Then, for each mean, you are asked to tell which level
              of the factor you want to use and what weight you
              want associated with that level. Here is what you
              would type to get a comparison of level 1 with the
              average of levels 2 and 3:

                    Contrast uses level :    1
                      with weight :    1
                    Contrast uses level :    2
                      with weight :    -0.5
                    Contrast uses level :    3
                      with weight :    -0.5

              Note that the weights must sum to 0.

              MrF then prints the observed value of the contrast (i.e.,
              the difference between level 1 and the average of 2 and 3),
              and the critical ranges for the LSD and Scheffe methods of
              evaluating contrasts. The other two methods only apply to
              pairwise comparisons. Again, the ranges use the default error
              probability of 0.05 (95% confidence) unless you change this
              probability with the Options command.

        Trend Analysis:  The trend analysis routines will give
              you sums of squares and F's for linear and quadratic
              trends, given any factor with 3 or more levels.  If the
              factor has 4 or more levels, you will also get the sum
              of squares and F value for the residual trend  (i.e.,
              total of all components of trend higher than linear
              and quadratic).  The only thing you need to indicate
              concerns the spacing of the levels on your factor:

                Are  the  levels  of  this  factor  equally  spaced?

              Equally spaced levels are those defined by equal intervals
              along the ordered scale that defines your factor.  For
              example, suppose we had an age factor with levels of
              1 year, 3 years, 5 years, and 7 years. These levels
              are equally spaced, because the difference between
              successive levels is constant (i.e.,  2  years). On the
              other hand, if we had an age factor with ages of 1
              year, 2 years, 4 years, and 8 years, the levels would
              not be equally spaced, because, for example, there
              are more years between 4 and 8 than between 2 and 4.
              If your levels are not equally spaced, you have to
              enter the scale value for each level, like this:

                    Level 1.  Enter scale value :  1.0
                    Level 2.  Enter scale value :  2.0
                    Level 3.  Enter scale value :  4.0
                    Level 4.  Enter scale value :  8.0

BACKUP:   The initial processing of a large data set (to get
        means and sums of squares) can be very time consuming.
        To prevent you from having to reprocess the data set if
        you later want to look at some graphs, do some posthocs,
        or even print out means or the ANOVA table again, MrF
        provides the BACKUP option.  If you choose this option
        (by typing B) MrF will write a file containing the factor
        names and levels, cell means, etc., of your data set.  When
        you later want to look at the analysis again, you can read
        this backup file rather than having to reread all the raw
        data and redo all the computations. Remember the options
        offered when MrF is first executed?  One of them is to
        read from a backup file.  When either writing or reading a
        backup file, you are simply asked to give the name of the
        backup file.  When using backup files you do not need to
        describe your design again, and processing time is greatly reduced.
        When you write a backup file, you are given the opportunity
        to write some notepad lines into that file. These are simply
        reminder lines for your own use, perhaps for the date of
        the analysis, the name of the experiment, or whatever.
        Notepad lines will be displayed to you again when you
        later use the backup file as input.

OPTIONS:   If you respond to the prompt line with 'O' you will see a display
        showing a number of different options and their default values:

OPTION                       CURRENT SETTING
--------------------         ---------------
output File                  Closed
Dependent variable           ALL
P level                      0.05
Critical range type          All
Brief means                  ON
means Output formats         Not shown. Type O to change.

To change an option, type the capital letter in its name.
When you are done setting options, hit <period> to quit.

Enter option code or . to return to main program :

        To change any option, simply type the capital letter in the
        line for that option. You may change the option settings as
        often as you want.  Only the current option settings affect
        the current analyses.

        The output File option allows you to write the results of your
        analyses to a standard ASCII disk file or to some printers as well as
        to the screen. The output file starts in the "closed" state, which
        means that you are not writing to it. If you hit F, MrF will ask you
        for a file name, and it will open the file you indicate. Thereafter,
        whenever any calculations are written to the screen, they are also
        written to the output file. If you want output written directly to the
        printer instead of to a disk file, respond with LPT1 or LPT2, as
        appropriate, when MrF asks for the file name. This seems to work for
        printers that accept regular ASCII text, but not for postscript
        printers.

        If an output file is open (i.e. you are writing calculations into it),
        then hitting F causes the file to be closed and saved on disk.  You
        may then open another output file if you like.  Be sure to give a
        different name to each output file, because if you write a new file
        with the same name as an old file, the old file is removed.

        When you are opening an output file, MrF simply asks for an output
        file name which should include the path if it's not current directory
        (to which it automatically appends .FPR). If you try to terminate the
        MrF program and leave your output file open, MrF will automatically
        close it and save it for you.

        The DV option offers two choices: All or One. If you choose All, each
        analysis will be performed on all dependent variables. This applies to
        all analyses, whether writing means or ANOVA tables, drawing graphs,
        doing posthocs, etc. If you choose One, you will be asked to choose
        one DV and only that DV will be used in subsequent analyses (unless
        you go back later and change this option to another DV). The P level
        option allows you to change the default significance level from .05 to
        .10 or .01.  This P level is used in two ways. First, it controls
        selection of sources to be printed in MEANS and ANOVA when you use the
        P-values option. Second, it controls the confidence limits for the
        critical ranges computed in the Contrast section of POSTHOCS.
        The confidence level is one minus the P-level.

        The Critical range type option allows you to choose which of several
        types of critical ranges you want MrF to perform when you do Contrasts
        in the POSTHOCS section.  MrF computes four different types of
        critical ranges: LSD (least significant difference), Newman-keuls,
        Tukey and Scheffe. You can choose to have MrF compute one or all of
        these four by typing the capital letter in the desired type of
        critical range, or 'A' for All.

        When set to TRUE, the BRIEF MEANS option causes the MEANS segment to
        display the marginal and cell means in list form rather than table
        form.  This type of display is slightly more difficult to read, but
        requires much less space than the tabular format and is useful when
        you are writing output to a disk file or printer.  The key to reading
        the display is to go back to the concepts of lexicographic ordering
        (slowest to fastest moving factors).  The title for the means shows
        the factors involved and the number of levels of each factor, and the
        factors are listed (from left to right) in order from slowest to
        fastest moving in the list of means appearing directly below the
        title. This is easier than it sounds. Display some means in both the
        list and table formats and compare them to make sure you understand
        the ordering conventions.

QUIT:    When you have finished all desired analyses type 'Q' to quit MrF.

6       Transformation of Dependent Variables
MrF can do some transformations of DV's at either or both of two points in
processing. The first opportunity for transformation comes with this question
which appears when you are describing the ANOVA to MrF:

                Would you like to transform any
                 dvs as they are read in?

If you answer Y for yes, the following display appears:

        Transformation of input data.
         File has 2 DV(s).
          
    Current transformation options are :                  for MrFB  
     0 : no transformation                                 NONE
     1 : natural log of old value                          LnX
     2 : natural log of square of old value                LnSqrX
     3 : square root of old value                          SqRtX
     4 : 1 divided by old value (bounded by 32258)         Inverse
     5 : fishers r to z transformation of old value        RtoZ
     6 : 2 * arcsin of sqrt(old value / 100), in radians   ArcSin(PC)
     7 : square root(old value + 0.5)                      SqRt(X+.5)
     8 : natural log(old value + 1)                        Ln(X+1)
     9 : 1 divided by (old value + 1); (bounded by 32258)  1Div(X+1)
          
          You may enter a transformation number
           outside the 0-9 range. The number
           entered will be ADDED TO the DV:
          
          Enter transformation number for each DV.
          
          DV 1 :

     The program goes through the list of your DV's and asks what
transformation you want applied to each one. Each transformation takes the old
value of the DV (i.e. the value in the data file) and transforms it as
indicated.  If you want to transform some DV's but not all, enter 0 for the
DV's you do not want to transform.
     If you use the Translation mechanism (described below), you get another
chance to transform DV's after translation.  If you choose to do
transformations at that point, you get the same transformation options shown
above.

7       Translations
The translation feature of MrF is quite powerful, but not particularly easy to
understand.  The goal of the feature was to remove the necessity for
reformatting a data set in order to do a new analysis with slightly different
factors or levels. In order to do this, MrF allows you to define two separate
sets of factors and their associated levels: those of the data set and those
of the ANOVA. You can also specify how MrF should translate from the factorial
structure of the data set to that of the ANOVA. Then, MrF can reformat your
data for you as it reads in the input data file, and it can perform the
analysis on the reformatted data. The reformatted data are not actually
written out anywhere, but are only used in computing the ANOVA.
     A couple of examples may make this idea clearer. First, suppose you have
an input data file with three groups of subjects, and you want to do an
analysis including only two of the groups. Rather than having to make up a new
data file with only two of the groups, you can just use the translation
mechanism to drop a group on input. In essence, you "reformat out" the group
you want to drop, and the analysis proceeds exactly as if this group were not
in the file. To take a more complicated second example, suppose you have data
for each S in two experimental conditions (E1 and E2) and a control condition
(C). Furthermore, suppose that each subject was tested in all three conditions
at two different times of day (morning and evening). Suppose you want to do
ANOVA on the two difference scores (E1 - C) and (E2 - C), and suppose you want
to include only the morning data. Rather than having to make up a new data
file with the difference scores for the morning data, you can use the
translation mechanism to drop evening data and have MrF compute difference
scores as it goes along. The resulting ANOVA will be the same as if you had
done the reformatting yourself and had MrF read a different data file. This
feature will save you a lot of work after you master its use.
     It is worth emphasizing that in general the factors/levels of the data
file and ANOVA may be quite different. In both of the examples given above,
the number of levels of a factor changed from 3 to 2. In the second example,
the number of factors also changed, because the time of day factor was dropped.
When you decribe the ANOVA to MrF, starting at the point where you give the
name of the input data file, be sure to describe the factors/levels of the
ANOVA and not the data file. In other words, the ANOVA you must describe has
the factors and levels after reformatting. If you want translation, you get
an opportunity to describe the factors and levels of the data set later. What
you describe first, however, is always the ANOVA.
     In general terms, the translation mechanism allows you to do any or all
of the following:
     1.  Reformat groups.  You can combine and/or delete groups from the
analysis. There must still be equal numbers of subjects in each of the groups
after reformatting, though.
     2.  Reformat DV's.  You may delete DV's and/or form new DV's as linear
combinations of the original DV'S. (Remember that you are allowed to do
transformations after translation. One nice interaction of these two features
is that you can analyze both a DV and some transformation of that DV in a
single run. Form 2 new DV's as [1 * old DV], and then transform one of the
new DV's after translation.)
     3. Reformat the conditions within a subject. For each subject you have
data values from N conditions, regardless of the factorial structure of these
conditions.  You can perform ANOVA on K new conditions which are defined in
terms of linear combinations of the N original conditions. The factors/levels
of the K new conditions can be quite different from the factors/levels of the
N original conditions.  (Again, the ANOVA and the data file are two different
structures.  All you have to do is figure out how to reformat your data file
to get the factors and levels you want.)
     There are two main restrictions on 2 and 3. First, the coefficients in
the linear combinations must be integers.  Second, the same translation has to
take place for every subject in a given analysis. The program cannot do (say)
one set of translations for group 1 and another set for group 2 within a
single analysis.

7.1       Translating  Groups
The problem of reformatting groups is not too difficult. The header line of
your data file tells MrF how many groups there are in the data file.  MrF
displays this message to you:

Data  file  has  6  groups
  For  the  present  analysis,  do  you  want  to  modify  the  assignment
  of  subjects  to  groups?

If you type Y for yes,  you are then asked to define the group translation
with the following screen:

Data  file  has  6  groups
  For  the  present  analysis,  do  you  want  to  modify  the  assignment
  of  subjects  to  groups?

If you type Y for yes,  you are then asked to define the group
translation with the following screen:

Modify 6 Integers.  TRANSLATION.  ? toggles help.

Position:     1   2   3   4   5   6
Value   :     0   0   0   0   0   0

  Move cursor with <Tab>  <BackSpace>  <Arrows>  &  <Return>.
  Enter value with <SPACE>, repeat with <.>, multiple with M.
  Quit  with < ^Q >.    [ < q > terminates   M & ?   Copies ]
  C = set all to C(onstant.   I = ( position I to value I )
  F1 = Read from file.  F2 = Write to file.
         COPY, NO ADD |  COPY,   ADD ?
 From:   1    *-1   ? |  1    *-1    ?
 To ?    Q     W    E |  R     T     Y
 To End  A     S    D |  F     G     H

     This screen looks pretty complicated, but that is because it offers many
shortcut features that you don't actually have to use.  Your goal here is to
change each number on the "Value" line to indicate the new group number to
which you want Mrf to assign each of the old groups, whose numbers are shown
in the "Position" line.
     For example, suppose you want to average all the groups together, so that
there is no between-subjects factor. In that case, you want to change all the
numbers on the "Value" line to 1, indicating that all six of the original
groups should be assigned to the same group, group 1, for the purposes of this
ANOVA.
     As another example, suppose you want to do an analysis comparing the
first three of the original groups against the last three. In that case, you
want to change the numbers on the "Value" line to 1, 1, 1, 2, 2, 2, indicating
that the first three of the original groups all get assigned to the new group
1, and the last three all get assigned to the new group 2. (Alternatively,
you could reverse the group labelling by changing the numbers to 2, 2, 2, 1,
1, 1, with the same effect except for the labelling of group 1 versus 2).
     To change a number on the "Values" line, you first move the cursor to the
point just before that number using the arrow keys and the enter key. Then,
you press the space bar to indicate that you want to change the number. After
you press the space bar, MrF clears the old number, and you type in the new
number followed by enter. When you are done setting the Values to the
numbers you want, type control-Q to leave this screen.
     As mentioned earlier, a number of shortcuts can be used within this
screen, as hinted at by the cryptic help lines starting with "Move cursor with
<Tab. . ." For example, the easiest way to set all numbers on the value line
to 1 is to type "C" and then enter the number 1. These shortcuts are mainly
intended for the advanced user, however, and they are described in Section 10.
     If you want to translate groups in a design with more than one grouping
factor, you have to keep in mind the order (slowest to fastest) of the
between-subjects factors 1) in the ANOVA you described, and 2) in the input
data file. The order in the input data file tells you what each of the
"Position" numbers correspond to, in terms of your factors. The order in the
ANOVA tells you which new level ("Value") you want to assign each old level to.
     Here's a horrendous example. Suppose the input data file has
12 groups defined by 2 SEXes (slowest), 3 AGEs (2nd slowest)
and 2 races (3rd slowest). That means the groups, from 1 to 12, are:
                 1.     SEX1      AGE1      RACE1
                 2.     SEX1      AGE1      RACE2
                 3.     SEX1      AGE2      RACE1
                 4.     SEX1      AGE2      RACE2
                 5.     SEX1      AGE3      RACE1
                 6.     SEX1      AGE3      RACE2
                 7.     SEX2      AGE1      RACE1
                 8.     SEX2      AGE1      RACE2
                 9.     SEX2      AGE2      RACE1
                10.     SEX2      AGE2      RACE2
                11.     SEX2      AGE3      RACE1
                12.     SEX2      AGE3      RACE2

     Suppose you wanted to do an analysis for RACE2 only using both sexes and
comparing AGE1 with AGE3, leaving out AGE2. In describing your ANOVA you would
have specified two between-subjects factors, SEX and AGE, each with two
levels.  Suppose you specified that SEX moved slower than AGE. Then MrF
would expect the analysis to have the four groups shown below:
              1.      SEX1     AGE1     (RACE2)
              2.      SEX1     AGE3     (RACE2)
              3.      SEX2     AGE1     (RACE2)
              4.      SEX2     AGE3     (RACE2)
RACE2 is in parentheses here because it is not really a factor that MrF knows
about in your analysis.  Yet it is relevant, because you wanted to limit your
analysis to RACE2, skipping over the RACE1 scores that are present in the data
file.
     Shown above are the numbers corresponding to the 12 groups in the data
file and the 4 groups in the analysis.  All you have to do is look at the two
sets of numbers and figure out where each old group ("level") is assigned for
the reformatted ANOVA, using 0 to indicate that a group is to be dropped. 
Here is the pattern you would need to enter:

Position:     1   2   3   4   5   6   7   8   9  10  11  12
Value   :     0   1   0   0   0   2   0   3   0   0   0   4

7.2       Translating Conditions and/or DV's
Your opportunity to translate conditions and/or DV's comes at the point when
this message is displayed:

          Do you want any translation of conditions within a subject?

You must answer Y if you want to do either or both of these translations. MrF
handles translations of conditions and translations of DV's with a single set
of routines, so the series of questions is designed to allow for either or
both kinds of translations.
     First, MrF needs to know about the within-subjects factors and levels in
the data file. Later, it will find out how you want to reformat these factors
and levels to get the factors and levels you specified for your ANOVA. You are
asked whether you want to "Specify translations viewing subject in same
factorial structure as anova?" (Y or N are the legal responses). What the
program wants to know is whether the within-subject factors in the ANOVA are
the same as the within-subject factors in the data file. If they are, it
already has much of the information it needs to understand what is in the data
file. If not, it will have to ask you to describe the data file from scratch.
    For example, suppose your data file has the results of testing each
subject at breakfast, lunch, and dinner (TIME OF TESTING factor, 3 levels) in
each of two drug conditions (DRUG factor, 2 levels).
     Example 1: You want to drop the data from the lunch testing. This leaves
you with two factors in your ANOVA: TIME OF TESTING and DRUG. These are the
same two factors as are in the data file, so the data file has the same
"factorial structure" as the ANOVA, and you answer Y.
     Example 2: You want to analyze only the DRUG1 data. Now your ANOVA has
only one within-subjects factor: TIME OF TESTING, so you have different
factorial structures in the data file and the ANOVA, and you must type N.
     Different numbers of levels do not count as different factorial
structure. Different factorial structure means either different numbers of
factors or different slowest to fastest moving order of factors.
     If the data file has the same factorial structure as the ANOVA, MrF will
ask you how many levels each factor has in the data file. In case 1 above, you
would enter 3 and 2 as the numbers of levels for TIME OF TESTING and DRUG in
the data file. Then MrF has a complete picture of the data file.
     If the data file has a different factorial structure from the ANOVA, MrF
will ask you to describe the factorial structure of the data file. First, you
give the number of within-subject factors in the data file. Second, you give
names for these within-subjects factors, from slowest to fastest moving.
Finally, you give the number of levels of each of these within-subjects
factors.

7.3       Specifying the Translation
Whether the data file has the same or a different factorial structure from the
ANOVA, MrF now knows the structures of both the data file and the ANOVA.
However, it still needs to know how the two structures correspond:  How does
it reformat the data file to get the ANOVA? In order to find out, MrF will ask
a series of questions about what you want translated.  You get an opportunity
to translate the DV's in the data file first, and then you get an opportunity
to translate the levels of all the factors that describe the format of the
data file.
     The following line shows you the translation options available
to you:

Translation options are N(one, A(verage, class 1 or 2.

     There are three basic types of translations you can use: averaging, class
1, and class 2.  These will be described first in connection with translation
of DV's, since that is where you first get a chance to use them.  The same
options are used in translating levels of factors also.
     Class 1 translations are simpler to specify than class 2 translations,
but they are not as general. The most relevant way to understand the
difference between the two classes of translations is by seeing how each is
specified.

7.4       Average Translations
Suppose you want to compute a single new DV which is simply the average of all
the DVs in the data file. This is easily accomplished, thus:

Translate  DV :    A

As MrF reads in the DVs, it will compute the average for each subject and
condition, and just do an ANOVA on the average. Thus, there will be only one
ANOVA, corresponding to this one new DV.

7.5       Class 1 Translations
In a class 1 translation, each "old DV" is either:
    1.  omitted from the analysis.
    2.  added to some "new DV".
    3.  subtracted from some "new DV".

The program accumulates a total value for each new DV, starting at 0, by
adding in and subtracting out values of the indicated old DVs.  At the end of
this accumulation process, the program automatically converts the total to an
average; specifically, it divides the accumulated total by the number of old
DVs that were added in to that total (old levels that were subtracted out
are not counted in this number).
     For example, the simplest class 1 translation is to average together all
the old DVs to create one new DV, and that one is handled by the special
"averaging" option already covered.
     As an example of a more complicated class 1 translation, suppose there
were 4 DV's in the data file and we wanted to translate to 2 DV's formed as 1)
the difference old DV1 - old DV4, and 2) old DV3.  Here is how this would be
specified:
                Translate  DV?  1
                {  and  then  on  the  next  screen:  }
                Position         1     2     3     4
                Value            1     0     2    -1

The assignment of new DVs to old DVs looks similar to the translation
mechanism used for groups. As before, you delete something by assigning it to
level 0. The use of negative numbers on the Value line is new, though. A
negative number indicates that the value in the file is to be subtracted from
the new total rather than added to it. In this example the automatic
averaging feature has no effect. Both of the new levels had one value added
in, so both were divided by 1.
     As another example, suppose that the one desired new DV was (old1 + old2
- old3 - old4) / 2.  This could be obtained by the following assignments:
                Position         1     2     3     4
                Value            1     1    -1    -1
In this example the averaging comes into play, because there were two old DVs
added in to new DV 1.  That is why the new DV is divided by 2 rather than
simply (old1 + old2 - old3 -old4).
     To summarize, class 1 translations satisfy three restrictions: 1) each
old DV influences at most one new DV, 2) the influence of an old DV on a new
one is either to add to or to subtract from the new DV, and 3) the value of
the new DV is divided by the number of old DVs that were added to it.  I have
found that I often want to use translations fitting these restrictions, and
that with some practice this mechanism makes them relatively easy to specify.

7.6       Class  2  Translations
Class 2 translations can be used to make new DVs that are linear combinations
of the old DVs, and they are subject to none of the three restrictions of
class 1 translations.  Class 2 translations are specified by giving, for each
new DV, a linear combination of the old DVs that is used to form the new DV.
     When you ask for a class 2 translation, MrF first requests that you enter
the "number of DVs after translation." This is simply the number of new DVs
(i.e. the number of linear combinations you are going to specify). Then, for
each new DV, 1) MrF asks how many components are in the linear combination
(a "component" is the product weight x old level).  2) for each component, MrF
asks for the old DV and the weight.
     For example, suppose there were 2 DV's in the data file, and you wanted
to do an analysis on 4 DV's: 1) old DV1, 2) old DV2, 3) old DV1 - old DV2, 4)
old DV1 + old DV2. The display should look like this:

    Translate DV  : 2
    Number of levels after translation : 4
    New level 1 : Number of components : 1
    Component 1
      Old level : 1
      With weight : 1
    New level 2 : Number of components : 1
    Component 1
      Old level : 2
      With weight : 1
    New level 3 : Number of components : 2
    Component 1
      Old level : 1
      With weight : 1
    Component 2
      Old level : 2
      With weight : -1
    New level 4 : Number of components : 2
    Component 1
      Old level : 1
      With weight : 1
    Component 2
      Old level : 2
      With weight : 1

7.7       Translations of Conditions
The averaging, class 1, and class 2 translations described above in connection
with DV's can also be applied to levels of any or all within-subjects factors
in the data file to reformat the data for each subject.  This gets more
complicated, however, because there can be several factors involved, and one
must keep in mind the slowest to fastest ordering of the different factors in
both the data file and the ANOVA. Since all translations are linear, one does
not need to worry about the order in which the different factors are
translated, however. In general, this is what happens:

 --------------------------                     --------------------------
|  Conditions 1-N of       |                   |  Conditions 1-K of       |
|  the input data file.    | Reformatted to -> |  the ANOVA.              |
|  Any factorial structure.|                   |  Any factorial structure.|
 --------------------------                     --------------------------

Example 1:   The input file has a single factor with 10 levels.
        For the ANOVA, you want to take the first 9 of these and
        consider them to be a 3 by 3 factorial. Describe the factors
        and levels of the input file and the ANOVA appropriately,
        and then translate the factor in the input file thus (class 1):

        Position:      1     2     3     4     5     6     7     8     9   10
        Value:         1     2     3     4     5     6     7     8     9    0

        This gives you 9 conditions in the "reformatted" data set, and these 9
        conditions are just what you need for your 3 by 3 factorial.

        As this example shows, it is simple to figure out your
        translation if you tell MrF your data file has only one
        factor with all your conditions, as in this case. Then
        you can reformat them as you wish, making sure that
        the final set of conditions satisfies the factorial structure
        (don't forget slowest to fastest) you described for your
        ANOVA. Sometimes this strategy requires a little extra
        typing, though, as shown in the next example.

Example 2:  The input data file has 2 within-subjects factors:
        A, with 4 levels, and B, with 6 levels. Factor A moves
        slower than factor B in the file. Thus, there are 24 AB
        conditions in the order shown below in the data file:

                               B1    B2     B3    B4     B5    B6    
                        A1      1     2      3     4      5     6
                        A2      7     8      9    10     11    12
                        A3     13    14     15    16     17    18
                        A4     19    20     21    22     23    24

        For the ANOVA you want to use three levels of A defined
        by A1, (A2+A3)/2, and A4. You want 3 levels of B defined
        by B1, B2-B3, and B5.  Also, you specified that factor A
        moves slower than B in the ANOVA. You can get this with
        two class 1 translations, one for each factor:

        Translate  AFactor     1
                       Position         1     2     3     4
                       Value            1     2     2     3

        Translate  BFactor     1
                       Position         1     2     3     4     5     6
                       Value            1     2    -2     0     3     0

        The  resulting  conditions, in terms of the 24 conditions
        above, will be:

                       B1                    B2                     B3
           A1           1                    2-3                      5
           A2    (7+13)/"2"        [(8-9)+(14-15)]/"2"         (11+17)/"2"
           A3          19                   20-21                    23
        (The numbers in this table refer to condition numbers in the previous
        table, except the number "2" is the actual numerical value 2).

        Note that because the translations are all linear, you don't
        have to worry about whether MrF translates factor A or B first.

        With a little more typing effort, you could have achieved exactly
        the same translation by telling MrF that the data file had
        one factor with 24 levels, and using this class 1 translation:

        Position:     1   2   3   4   5   6   7   8   9  10  11  12
        Value   :     1   2  -2   0   3   0   4   5  -5   0   6   0

        Position:    13  14  15  16  17  18  19  20  21  22  23  24
        Value   :     4   5  -5   0   6   0   7   8  -8   0   9   0

        There are no extra complications arising from class 2 as
        opposed to class 1 translations when there are several within-
        subjects factors. In both cases the translation takes a set of
        old levels and reformats them to a set of new levels as you
        instruct, and it doesn't matter which class of translation
        you use for reformatting. All that matters is that the
        output of the reformatting process has the right number
        of conditions in the right order (slowest to fastest moving
        wise) for the ANOVA you described.

Example 3:  With the same data file as example 2, you want
        two levels of A defined by A1 and A1+A2. The same class
        1 translation as in example 2 is used for factor B. The
        translation on A would have to be class 2 for two reasons:
        level A1 is used twice, and A1+A2 is not averaged.

          Translate A? 2
          Number of levels after translation : 2
          New level 1: Number of components : 1
          Component 1
            Old level : 1
            With weight : 1
          New level 2: number of components : 2
          Component 1
            Old level : 1
            With weight : 1
          Component 2
            Old level : 2
            With weight : 1

     As you can see, the translation mechanism is quite powerful but also
complicated. Until you get used to it, it is a very good idea to do some
checking to make sure the program is doing what you think it is. One good way
to check is to get the means in an analysis without any translation and use
these means to calculate the means you should get with translations. If the
means don't check for all cells (subject to rounding error), you can be sure
something went awry.

8       Building a Log File
In the very first options menu of MrF is an option to create a log file. A log
file is a command file that describes an analysis to the batch version of MrF
known as MrFB. This command file can also be created with any ASCII editor. A
MrFB command file has the following format:

Data  File:
n Between Ss Factor(s)
Grp_Fac_1_Name  Nlevels_1  [  Translation_Codes  ]
                            .
                            .
                            .
Grp_Fac_N_Name  Nlevels_N  [  Translation_Codes  ]
By-Group  N_Data_Vals_Per_Group
n Within Ss Factor(s)
Within_Fac_1_Name  Nlevels_1  [  Translation_Codes  ]
                            .
                            .
                            .
Within_Fac_N_Name  Nlevels_N  [  Translation_Codes  ]
DVs  [  Translation_Codes  ]
DV_1_Name  [  Transformation_One  ]  [  Transformation_Two  ]
                            .
                            .
                            .
DV_N_Name  [  Transformation_One  ]  [  Transformation_Two  ]
ANOVA:
n Between Ss Factor(s)
Grp_Fac_1_Name  Nlevels_1
                   .
                   .
                   .
Grp_Fac_N_Name  Nlevels_N
n  Within  Ss  Factor(s)
Within_Fac_1_Name  Nlevels_1
                 .
                 .
                 .
Within_Fac_N_Name  Nlevels_N

The translation codes for DVs and factors, and the transformation codes for
DVs are optional. The ANOVA specification is often optional too. It
is only necessary if you have an ANOVA design that is different from the
factorial design of the data. In most cases, even when the ANOVA design is
different from the factorial structure of the data, MrF can figure out the
correct ANOVA from the translation codes you've specified. If don't specify
the ANOVA design and MrF complains then try specifying it.
     To specify the optional DV transformation simply place the proper
transformation name next to the DV name. The transformation names are found
earlier in this file, under the heading "Transformation of Dependent
Variables", under the subheading "for MrFB". For each DV, you can specify two
transformaitons, one for before and one for after translation.
     If you build the command file in some ASCII editor, it is important that
no extra spaces be left at the end of a line.  If MrFB complains, make sure
that the command file is properly specified.  The following is an example of a
MrFB command file:

* dv1 is Mean
* dv2 is Pctcor
* Correct and Error, Low RT = 200, High RT = 2000
* Subjects 1 to 64
Data File:
1 Between Ss Factor
GrpFac1 4 1 0 2 0
By-group: 0
2 Within Ss Factor
AFac 2 1 2
BFac 2 1 0
DVs 1 0
RT LNX RTOZ
PC
ANOVA:
1 Between Ss Facs
Group 2
1 Within Ss Facs
TrTy 2

NOTE: With MrFB you are limited to class 1 translations.

9       Running  MrFB
Now that we know how to build a MrFB command file, lets look at how to run
MrFB. To run MrFB simply type one of the following three commands at the DOS
prompt:

  C> MrFb DataFile
  C> MrFb DataFile LogFile
  C> MrFb DataFile LogFile OutputFiles

DataFile is the name of the data file (e.g., MrFDoc.RPT), just as you would
enter it to MrF. If you enter only the name of the data file, MrFb will assume
that the log file has the same name with the extension LGF (e.g., MrFDoc.Lgf),
and it will also assume that you want the output written to files with the
same name but the extensions FBK (e.g., MrFDoc.FBK, a backup file) and FPR
(e.g., MrFDoc.FPR, a printout file with full ANOVA tables and a complete set
of cell means).

Alternatively, if you specify the name of the data file and of a LogFile
(e.g., MrfDoc2.LGF, or just MrFDoc2), then the output files will assume the
same root name as the LogFile, not the data file.

Finally, you can enter all three root names if you want.

If an error occurs during the processing MrFB will write out a file with the
same name, but with a suffix of .FER.  Best of luck.

10        Shortcuts for Entering Values
This section tries to help you see how to use various shortcuts
in these types of screens:

Modify 6 Integers. TRANSLATION. ? toggles help.

Position: 1 2 3 4 5 6 7 8 9 10 11 12
Value : 0 0 0 0 0 0 0 0 0 0 0 0

Position: 13 14 15 16 17 18 19 20 21 22 23 24
Value : 0 0 0 0 0 0 0 0 0 0 0 0

 Move cursor with <Tab> <BackSpace> <Arrows> & <Return>.
 Enter value with <SPACE>, repeat with <.>, multiple with M.
 Quit with < ^Q >. [ < q > terminates M & ? Copies ]
 C = set all to C(onstant. I = ( position I to value I )
 F1 = Read from file. F2 = Write to file.
 COPY, NO ADD | COPY, ADD ?
 From: 1 *-1 ? | 1 *-1 ?
 To ? Q W E | R T Y
 To End A S D | F G H

     I can't imagine that you can get anything out of this section without
sitting down with the program and trying some of the actions mentioned here,
seeing their effects on the pattern of values.  So please, try it.
     One shortcut is that you can repeat the last value you entered into the
current position by typing the period key. You can repeat a value as often as
you like, so for example, you could set all the values to 1 by entering 1 at
position 1 and then typing the period key 23 times.
     Another shortcut is to use M to have the program automatically step
through the various positions, allowing you to enter a new value for each one.
This simply saves you the trouble of hitting the space bar at each new
position to indicate that you want to enter a value.  Note that you can start
entering a long list with M, and then abort it by entering "q" instead of a
number at any position.
     "C" is used to tell the program that you want to set all the values to
the same thing. At the bottom of the screen, the program asks you "to what
constant value" you wish to set all the positions.
     "I" is used to set each value equal to its position number.
     The main labor saving device is the rather complicated chart at the
bottom, which shows keys that are useful with various types of repeating
patterns. Each of the 12 indicated keys enables you to copy a pattern from one
part of the list of values to another of the list. Thus, with a repeating
pattern, you only have to enter part of the pattern once, and then you can use
one of these copy options to do the rest semi-automatically.
     Here are some examples.
     Suppose you want this pattern:

Position: 1 2 3 4 5 6 7 8 9 10 11 12
Value : 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1

Position: 13 14 15 16 17 18 19 20 21 22 23 24
Value : 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1

(For example, you might have a fastest-moving factor with 2 levels and want to
do an analysis of the difference scores.)
     To achieve this pattern easily, you would first enter the values of 1 and
-1 in positions 1 and 2, respectively, using the space bar. At this point the
cursor would be at position 3, and you could simply type the command "A" to
have the pattern copied all the way to the end of the array.  Note the
position of the command "A" within the table:  It copies from position 1, to
the end, and with no add.

     Now suppose instead you want this pattern:

Position: 1 2 3 4 5 6 7 8 9 10 11 12
Value : 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1

Position: 13 14 15 16 17 18 19 20 21 22 23 24
Value : 2 -2 2 -2 2 -2 2 -2 2 -2 2 -2

You enter the first 1 and -1 as before, but now you want the pattern copied
only as far as position 12. What you want is another copy from position 1
without adding, but to a position that you can specify to be 12. The command
for that is "Q", where the notation "To ?" indicates that you want the program
to ask how far the pattern should be copied. It will ask, you type in 12, and
then the pattern will be copied out to position 12. Then you enter the 2 and
-2 in positions 13 and 14, respectively, using the space bar.  Now you want to
copy this pattern to the end.  But note that this pattern does not start at
position 1, but rather at position 13, so you want to copy from a position
that you can specify to be 13.  Thus, the command you want is "D", indicating
that the program must ask you the first position of the pattern and then copy
it to the end.
     The other "Copy, No Add" commands work similarly.  The notation "*-1"
indicates that the source of the copy is the immediately preceding position,
so that you can copy the preceding value a number of times.
     What about the commands where you copy and add?  Well, suppose you want
this pattern:

Position: 1 2 3 4 5 6 7 8 9 10 11 12
Value : 1 2 1 2 3 4 3 4 5 6 5 6

Position: 13 14 15 16 17 18 19 20 21 22 23 24
Value : 7 8 7 8 9 10 9 10 11 12 11 12

To start with, you need to get the pattern 1, 2, 1, 2 into the first four
positions, which can be done with the space bar as easily as anything.  Now,
with the cursor at position 5, type the "F" command to copy the pattern from
position 1 to the end, adding as you go.  The program will ask what number you
want to add, and you reply "2".  The program then fills out the value array
as follows:
        New value at position  5 = Value at position 1 + 2
        New value at position  6 = Value at position 2 + 2
        New value at position  7 = Value at position 3 + 2
        New value at position  8 = Value at position 4 + 2
        New value at position  9 = Value at position 5 + 2
        New value at position 10 = Value at position 6 + 2
        . . .
Note that the pattern is self-modifying, because the value to which 2 is added
is always taken from four positions back. Starting with the new value at
position 9, for example, the value to which 2 is added is one that was already
modified earlier in the pattern copy.
     As this example illustrates, the copies "with add" are analogous to those
without add, except that the program asks what number you want to add at each
step.

11        Sample  Acknowledgement  Letter

I don't want much, just some feedback on who is using MrF and what they are
using it for. Something like the letter shown below would be fabulous. But it
has to be a real signed letter on paper to do me any good.  Please don't use
e-mail!  Of course I would also welcome bug reports and suggestions for
improvement, too, although I can't promise any fast action on those.  Don't
forget what you paid for this!

             Prof Jeff Miller
             Department of Psychology
             Univ of Otago
             Dunedin, New Zealand

             Dear Prof Miller,

             This is to acknowledge that I have used the computer program
             MrF for analysis of variance during the past year.

             (Include all of the following that apply, and any other uses
             that I haven't thought of:)
             I have used it for analysis of data collected in
             my research in the field of Cognitive Psychology, and also in the
             analysis of data to be used as classroom examples in teaching
             research methods and statistics.  Approximately 5 of my (Masters,
             PhD, post-doctoral) students have used this program in their
             laboratory work, and approximately 30 of my students used it for
             doing their assignments in statistics class.

             Sincerely,

             etc
