Next: pairwise() Up: Design Macros Help File Previous: interblock()   Contents

# mixed()

Usage:
 ```mixed(Model,randomvars[,marg:T] [,restrict:F] [,nonhier:T] [,useneg:T]\ [,pvals:F] [,fstat:T] [,print:F]), CHARACTER scalar model, CHARACTER vector randomvars mixed(emsResult [,useneg:T] [,print:F] [,fstat:T] [,print:F]), emsResult a structure returned by ems() with keep:T ```

Keywords: anova, analysis, random effects, factorial
```mixed(Model, randomvars) computes and prints an "ANOVA" table
appropriate for the model and random factors given in CHARACTER scalar
Model and CHARACTER vector randomvars.  These arguments are exactly the
same as for ems().  You can also use ems() keywords 'marg', 'restrict'
and 'nonhier'.

mixed(emsResult), where emsResult has been computed by emsResult <-
ems(Model, randomvars [,...],keep:T), does the same.

In both cases mixed() returns a matrix containing the same information
as printed, but as an "invisible" variable that may be assigned (result
<- mixed(Model, randomvars) but is not automatically printed.  The
matrix has appropriately labeled rows and columns.

mixed(Model, randomvars, print:F) and mixed(emsResult, print:F) return
the ANOVA table as a "visible" matrix without printing it.  For backward
compatibility with an earlier version, you can used 'keepmixed:T'

The ANOVA table has one row for each term in the model and the following
columns in addition to labels for each term.
Col. 1   DF = degrees of freedom for term
Col. 2   MS = mean square for term (numerator of F)
Col. 3   Error DF = appropriate denominator degrees of freedom for F
Col. 4   Error MS = appropriate denominator mean square for F
Col. 5   F = F-statistic = MS/(Error MS)
Col. 6   P value = tail probability for F test

Numerator and denominator MS's are linear combinations of mean squares
whose expectations differ only by a multiple of the variance component
associated with the line.  When the numerator or denominator is not a
simple ANOVA mean square, its degrees of freedom are found using the
Satterthwaite approximation.

By default, only linear combinations of mean squares with positive
coefficients are used.  This means that the numerator for a term may be
the sum of the mean square for the term and one or more mean squares
from other terms.  If the keyword useneg:T is used, then the numerator
for a term will be the mean square for that term, and denominators may
contain differences as well as sums of mean squares.

Example.  Three populations, all crosses between 4 males and 4 females
in each population with six offspring from each mating randomly assigned
to three environments.  Male and female are random.  First the simple
ANOVA.

Cmd> anova("y=(pop+m.pop+f.pop+m.f.pop)*env")
Model used is y=(pop+m.pop+f.pop+m.f.pop)*env
DF           SS           MS
CONSTANT         1       5.4299       5.4299
pop              2       2091.4       1045.7
pop.m            9        112.5         12.5
pop.f            9       370.02       41.113
pop.m.f         27       56.774       2.1027
env              2       206.15       103.08
pop.env          4      0.16527     0.041316
pop.m.env       18       3.4185      0.18992
pop.f.env       18       8.2354      0.45752
pop.m.f.env     54       17.117      0.31698
ERROR1         144       30.448      0.21144

Now compute the expected mean squares, and keep the ems() output.

Cmd> emsstuff<-ems("y=(pop+m.pop+f.pop+m.f.pop)*env",vector("m","f"),
keep:T,print:T)
EMS(CONSTANT) = V(ERROR1) + 6V(pop.m.f) + 24V(pop.f) + 24V(pop.m) +
288Q(CONSTANT)
EMS(pop) = V(ERROR1) + 6V(pop.m.f) + 24V(pop.f) + 24V(pop.m) + 96Q(pop)
EMS(pop.m) = V(ERROR1) + 6V(pop.m.f) + 24V(pop.m)
EMS(pop.f) = V(ERROR1) + 6V(pop.m.f) + 24V(pop.f)
EMS(pop.m.f) = V(ERROR1) + 6V(pop.m.f)
EMS(env) = V(ERROR1) + 2V(pop.m.f.env) + 8V(pop.f.env) +
8V(pop.m.env) + 96Q(env)
EMS(pop.env) = V(ERROR1) + 2V(pop.m.f.env) + 8V(pop.f.env) +
8V(pop.m.env) + 32Q(pop.env)
EMS(pop.m.env) = V(ERROR1) + 2V(pop.m.f.env) + 8V(pop.m.env)
EMS(pop.f.env) = V(ERROR1) + 2V(pop.m.f.env) + 8V(pop.f.env)
EMS(pop.m.f.env) = V(ERROR1) + 2V(pop.m.f.env)
EMS(ERROR1) = V(ERROR1)

Now use mixed().

Cmd> mixed(emsstuff)
DF        MS  Error DF  Error MS         F    P value
CONSTANT     1.914     7.533     14.01     53.61    0.1405     0.8617
pop          2.008      1048     14.01     53.61     19.54  8.745e-05
pop.m            9      12.5        27     2.103     5.945  0.0001412
pop.f            9     41.11        27     2.103     19.55  1.242e-09
pop.m.f         27     2.103       144    0.2114     9.945          0
env          2.012     103.4     30.75    0.6474     159.7          0
pop.env      56.12    0.3583     30.75    0.6474    0.5534     0.9729
pop.m.env       18    0.1899        54     0.317    0.5991     0.8844
pop.f.env       18    0.4575        54     0.317     1.443     0.1496
pop.m.f.env     54     0.317       144    0.2114     1.499    0.03044
ERROR1         144    0.2114         0         0   MISSING    MISSING

The test for environment should be
(MS(env)+MS(m.f.env))/(MS(m.env)+MS(f.env)) = (103.08+.32)/(.190+.458) =
(103.4)/(.6474) = 159.7 as reported in the table.