\HeaderA{denumerate}{Transform an Allowable Formula for 'loglm' into one for 'terms'}{denumerate}
\methaliasA{denumerate.formula}{denumerate}{denumerate.formula}
\keyword{models}{denumerate}
\begin{Description}\relax
\code{\LinkA{loglm}{loglm}} allows dimension numbers to be used in place of names in
the formula.  \code{denumerate} modifies such a formula into one that
\code{\LinkA{terms}{terms}} can process.
\end{Description}
\begin{Usage}
\begin{verbatim}
denumerate(x)
\end{verbatim}
\end{Usage}
\begin{Arguments}
\begin{ldescription}
\item[\code{x}] A formula conforming to the conventions of \code{\LinkA{loglm}{loglm}}, that is, it
may allow dimension numbers to stand in for names when specifying
a log-linear model.

\end{ldescription}
\end{Arguments}
\begin{Details}\relax
The model fitting function \code{\LinkA{loglm}{loglm}} fits log-linear models to
frequency data using iterative proportional scaling.  To specify
the model the user must nominate the margins in the data that
remain fixed under the log-linear model.  It is convenient to
allow the user to use dimension numbers, 1, 2, 3, \dots for the
first, second, third, \dots, margins in a similar way to variable
names.  As the model formula has to be parsed by \code{\LinkA{terms}{terms}}, which
treats \code{1} in a special way and requires parsable variable names,
these formulae have to be modified by giving genuine names for
these margin, or dimension numbers.  \code{denumerate} replaces these
numbers with names of a special form, namely \code{n} is replaced by
\code{.vn}.  This allows \code{terms} to parse the formula in the usual way.
\end{Details}
\begin{Value}
A linear model formula like that presented, except that where
dimension numbers, say \code{n}, have been used to specify fixed
margins these are replaced by names of the form \code{.vn} which may
be processed by \code{terms}.
\end{Value}
\begin{SeeAlso}\relax
\code{\LinkA{renumerate}{renumerate}}
\end{SeeAlso}
\begin{Examples}
\begin{ExampleCode}
denumerate(~(1+2+3)^3 + a/b)
## Not run: ~ (.v1 + .v2 + .v3)^3 + a/b
\end{ExampleCode}
\end{Examples}

