\Header{replications}{Number of Replications of Terms}
\keyword{models}{replications}
\begin{Description}\relax
Returns a vector or a list of the number of replicates for
each term in the formula.
\end{Description}
\begin{Usage}
\begin{verbatim}
replications(formula, data=NULL, na.action)
\end{verbatim}
\end{Usage}
\begin{Arguments}
\begin{ldescription}
\item[\code{formula}] a formula or a terms object or a data frame.
\item[\code{data}] a data frame used  to  find  the  objects in \code{formula}.
\item[\code{na.action}] function for handling missing values.  Defaults to
a \code{na.action} attribute of \code{data}, then
a setting of the option \code{na.action}, or \code{na.fail} if that
is not set.
\end{ldescription}
\end{Arguments}
\begin{Details}\relax
If \code{formula} is a data frame and \code{data} is missing,
\code{formula} is used for \code{data} with the formula \code{\textasciitilde{} .}.
\end{Details}
\begin{Value}
A vector or list with one entry for each term in the formula giving
the number(s) of replications for each level. If all levels are
balanced (have the same number of replications) the result is a
vector, otherwise it is a list with a component for each terms,
as a vector, matrix or array as required.

A test for balance is \code{!is.list(replications(formula,data))}.
\end{Value}
\begin{Author}\relax
The design was inspired by the S function of the same name described
in Chambers \emph{et al.} (1992).
\end{Author}
\begin{References}\relax
Chambers, J. M., Freeny, A and Heiberger, R. M. (1992)
\emph{Analysis of variance; designed experiments.}
Chapter 5 of \emph{Statistical Models in S}
eds J. M. Chambers and T. J. Hastie, Wadsworth \& Brooks/Cole.
\end{References}
\begin{SeeAlso}\relax
\code{\Link{model.tables}}
\end{SeeAlso}
\begin{Examples}
\begin{ExampleCode}
## From Venables and Ripley (2002) p.165.
N <- c(0,1,0,1,1,1,0,0,0,1,1,0,1,1,0,0,1,0,1,0,1,1,0,0)
P <- c(1,1,0,0,0,1,0,1,1,1,0,0,0,1,0,1,1,0,0,1,0,1,1,0)
K <- c(1,0,0,1,0,1,1,0,0,1,0,1,0,1,1,0,0,0,1,1,1,0,1,0)
yield <- c(49.5,62.8,46.8,57.0,59.8,58.5,55.5,56.0,62.8,55.8,69.5,
55.0, 62.0,48.8,45.5,44.2,52.0,51.5,49.8,48.8,57.2,59.0,53.2,56.0)

npk <- data.frame(block=gl(6,4), N=factor(N), P=factor(P),
                  K=factor(K), yield=yield)
replications(~ . - yield, npk)
\end{ExampleCode}
\end{Examples}

