\HeaderA{eff.aovlist}{Compute Efficiencies of Multistratum Analysis of Variance}{eff.aovlist}
\keyword{models}{eff.aovlist}
\begin{Description}\relax
Computes the efficiencies of fixed-effect terms in an analysis of
variance model with multiple strata.
\end{Description}
\begin{Usage}
\begin{verbatim}
eff.aovlist(aovlist)
\end{verbatim}
\end{Usage}
\begin{Arguments}
\begin{ldescription}
\item[\code{aovlist}] The result of a call to \code{aov} with an \code{Error} term.

\end{ldescription}
\end{Arguments}
\begin{Details}\relax
Fixed-effect terms in an analysis of variance model with multiple strata
may be estimable in more than one stratum, in which case there is less
than complete information in each.  The efficiency for a term
is the fraction of the maximum possible precision (inverse variance)
obtainable by estimating in just that stratum.  Under the assumption
of balance, this is the same for all contrasts involving that term.

This function is used to pick strata in which to estimate terms in
\code{\LinkA{model.tables.aovlist}{model.tables.aovlist}} and
\code{\LinkA{se.contrast.aovlist}{se.contrast.aovlist}}.

In many cases terms will only occur in one stratum, when all the
efficiencies will be one: this is detected and no further calculations
are done.

The calculation used requires orthogonal contrasts for each term, and
will throw an error if non-orthogonal contrasts (e.g. treatment
contrasts or an unbalanced design) are detected.
\end{Details}
\begin{Value}
A matrix giving for each non-pure-error stratum (row) the efficiencies
for each fixed-effect term in the model.
\end{Value}
\begin{References}\relax
Heiberger, R. M. (1989)
\emph{Computation for the Analysis of Designed Experiments}.  Wiley.
\end{References}
\begin{SeeAlso}\relax
\code{\LinkA{aov}{aov}}, \code{\LinkA{model.tables.aovlist}{model.tables.aovlist}},
\code{\LinkA{se.contrast.aovlist}{se.contrast.aovlist}}
\end{SeeAlso}
\begin{Examples}
\begin{ExampleCode}
## An example from Yates (1932),
## a 2^3 design in 2 blocks replicated 4 times

Block <- gl(8, 4)
A <- factor(c(0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,
              0,1,0,1,0,1,0,1,0,1,0,1))
B <- factor(c(0,0,1,1,0,0,1,1,0,1,0,1,1,0,1,0,0,0,1,1,
              0,0,1,1,0,0,1,1,0,0,1,1))
C <- factor(c(0,1,1,0,1,0,0,1,0,0,1,1,0,0,1,1,0,1,0,1,
              1,0,1,0,0,0,1,1,1,1,0,0))
Yield <- c(101, 373, 398, 291, 312, 106, 265, 450, 106, 306, 324, 449,
           272, 89, 407, 338, 87, 324, 279, 471, 323, 128, 423, 334,
           131, 103, 445, 437, 324, 361, 302, 272)
aovdat <- data.frame(Block, A, B, C, Yield)

old <- getOption("contrasts")
options(contrasts=c("contr.helmert", "contr.poly"))
(fit <- aov(Yield ~ A*B*C + Error(Block), data = aovdat))
eff.aovlist(fit)
options(contrasts = old)
\end{ExampleCode}
\end{Examples}

