\HeaderA{plot.lmList}{Plot an lmList Object}{plot.lmList}
\keyword{models}{plot.lmList}
\begin{Description}\relax
Diagnostic plots for the linear model fits corresponding to the
\code{x}  components are obtained. The \code{form} argument gives
considerable flexibility in the type of  plot specification. A
conditioning expression (on the right side of a  \code{|} operator)
always implies that different panels are used for  each level of the
conditioning factor, according to a Trellis  display. If \code{form}
is a one-sided formula, histograms of the  variable on the right hand
side of the formula, before a \code{|}  operator, are displayed (the
Trellis function \code{histogram} is  used). If \code{form} is
two-sided and both its left and  right hand side variables are
numeric, scatter plots are displayed  (the Trellis function
\code{xyplot} is used). Finally, if \code{form}  is two-sided and its
left had side variable is a factor, box-plots of  the right hand side
variable by the levels of the left hand side  variable are displayed
(the Trellis function  \code{bwplot} is used).
\end{Description}
\begin{Usage}
\begin{verbatim}
## S3 method for class 'lmList':
plot(x, form, abline, id, idLabels, grid, ...)
\end{verbatim}
\end{Usage}
\begin{Arguments}
\begin{ldescription}
\item[\code{x}] an object inheriting from class \code{lmList}, representing
a list of \code{lm} objects with a common model.
\item[\code{form}] an optional formula specifying the desired type of
plot. Any variable present in the original data frame used to obtain
\code{x} can be referenced. In addition, \code{x} itself
can be referenced in the formula using the symbol
\code{"."}. Conditional expressions on the right of a \code{|}
operator can be used to define separate panels in a Trellis
display. Default is \code{resid(., type = "pool") \textasciitilde{} fitted(.) },
corresponding to a plot of the standardized residuals (using a pooled
estimate for the residual standard error) versus fitted values.

\item[\code{abline}] an optional numeric value, or numeric vector of length
two. If given as a single value, a horizontal line will be added to the
plot at that coordinate; else, if given as a vector, its values are
used as the intercept and slope for a line added to the plot. If
missing, no lines are added to the plot.

\item[\code{id}] an optional numeric value, or one-sided formula. If given as
a value, it is used as a significance level for a two-sided outlier
test for the standardized residuals. Observations with
absolute standardized residuals greater than the \eqn{1 - value/2}{}
quantile of the standard normal distribution are identified in the
plot using \code{idLabels}. If given as a one-sided formula, its
right hand side must evaluate to a  logical, integer, or character
vector which is used to identify observations in the plot. If
missing, no observations are identified.

\item[\code{idLabels}] an optional vector, or one-sided formula. If given as a
vector, it is converted to character and used to label the
observations identified according to \code{id}. If given as a
one-sided formula, its right hand side must evaluate to a vector
which is converted to character and used to label the identified
observations. Default is \code{getGroups(x)}. 

\item[\code{grid}] an optional logical value indicating whether a grid should
be added to plot. Default depends on the type of Trellis plot used:
if \code{xyplot} defaults to \code{TRUE}, else defaults to
\code{FALSE}.

\item[\code{...}] optional arguments passed to the Trellis plot function.
\end{ldescription}
\end{Arguments}
\begin{Value}
a diagnostic Trellis plot.
\end{Value}
\begin{Author}\relax
Jose Pinheiro \email{Jose.Pinheiro@pharma.novartis.com} and Douglas Bates \email{bates@stat.wisc.edu}
\end{Author}
\begin{SeeAlso}\relax
\code{\LinkA{lmList}{lmList}}, \code{\LinkA{xyplot}{xyplot}},
\code{\LinkA{bwplot}{bwplot}}, \code{\LinkA{histogram}{histogram}}
\end{SeeAlso}
\begin{Examples}
\begin{ExampleCode}
fm1 <- lmList(distance ~ age | Subject, Orthodont)
# standardized residuals versus fitted values by gender
plot(fm1, resid(., type = "pool") ~ fitted(.) | Sex, abline = 0, id = 0.05)
# box-plots of residuals by Subject
plot(fm1, Subject ~ resid(.))
# observed versus fitted values by Subject
plot(fm1, distance ~ fitted(.) | Subject, abline = c(0,1))
\end{ExampleCode}
\end{Examples}

