1\name{lmResp-class}
2\title{Reference Classes for Response Modules, \code{"(lm|glm|nls|lmer)Resp"}}
3\alias{glmResp-class}
4\alias{lmerResp-class}
5\alias{lmResp-class}
6\alias{nlsResp-class}
7\description{
8  Reference classes for response modules, including linear
9  models, \code{"lmResp"}, generalized linear models,
10  \code{"glmResp"}, nonlinear models, \code{"nlsResp"} and
11  linear mixed-effects models, \code{"lmerResp"}. Each
12  reference class is associated with a C++ class of the
13  same name.  As is customary, the generator object for
14  each class has the same name as the class.
15}
16\section{Extends}{
17  All reference classes extend and inherit methods from
18  \code{"\linkS4class{envRefClass}"}.  Furthermore,
19  \code{"glmResp"}, \code{"nlsResp"} and \code{"lmerResp"}
20  all extend the \code{"lmResp"} class.
21}
22\note{
23  Objects from these reference classes correspond to
24  objects in C++ classes.  Methods are invoked on the C++
25  classes using the external pointer in the \code{ptr}
26  field.  When saving such an object the external pointer
27  is converted to a null pointer, which is why there are
28  redundant fields containing enough information as R
29  objects to be able to regenerate the C++ object.  The
30  convention is that a field whose name begins with an
31  upper-case letter is an R object and the corresponding
32  field whose name begins with the lower-case letter is a
33  method.  Access to the external pointer should be through
34  the method, not through the field.
35}
36\examples{
37showClass("lmResp")
38str(lmResp$new(y=1:4))
39showClass("glmResp")
40str(glmResp$new(family=poisson(), y=1:4))
41showClass("nlsResp")
42showClass("lmerResp")
43str(lmerResp$new(y=1:4))
44}
45\seealso{
46  \code{\link{lmer}}, \code{\link{glmer}},
47  \code{\link{nlmer}}, \code{\linkS4class{merMod}}.
48}
49\keyword{classes}
50
51