File: model.Matrix.Rd

package info (click to toggle)
r-cran-matrixmodels 0.5-4-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 168 kB
  • sloc: makefile: 2
file content (69 lines) | stat: -rw-r--r-- 3,177 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
\name{model.Matrix}
\alias{model.Matrix}
%% Cut and paste a lot from the "standard"  model.matrix() help page,
%% <--> ~/R/D/r-devel/R/src/library/stats/man/model.matrix.Rd
\title{Construct Possibly Sparse Design or Model Matrices}
\description{
  \code{model.Matrix} creates design matrix, very much like the
  standard \R function \code{\link{model.matrix}}, however returning a
  dense or sparse object of class \code{\linkS4class{modelMatrix}}.
}
\usage{
model.Matrix(object, data = environment(object),
             contrasts.arg = NULL, xlev = NULL,
             sparse = FALSE, drop.unused.levels = FALSE, \dots)
}
\arguments{
  \item{object}{an object of an appropriate class.  For the default
    method, a model \link{formula} or a \code{\link{terms}} object.}
  \item{data}{a data frame created with \code{\link{model.frame}}.  If
    another sort of object, \code{model.frame} is called first.}
  \item{contrasts.arg}{A list, whose entries are values (numeric
    matrices or character strings naming functions) to be used
    as replacement values for the \code{\link{contrasts}}
    replacement function and whose names are the names of
    columns of \code{data} containing \code{\link{factor}}s.}
  \item{xlev}{to be used as argument of \code{\link{model.frame}} if
    \code{data} has no \code{"terms"} attribute.}
  \item{sparse}{logical indicating if the result should be sparse
    (of class \code{\linkS4class{sparseModelMatrix}}), using
    \code{\link[Matrix]{sparse.model.matrix}()} (package \pkg{Matrix}).}
  \item{drop.unused.levels}{used only when \code{sparse} is TRUE: Should
    factors have unused levels dropped?
    (This used to be true, \emph{implicitly} in the first versions up to
    July 2010; the default has been changed for compatibility with
    \R's standard (dense) \code{\link{model.matrix}()}.
  }
  \item{\dots}{further arguments passed to or from other methods.}
}
\details{
  \code{model.Matrix()} is a simple wrapper either (\code{sparse = FALSE})
  around the traditional \code{\link{model.matrix}()} returning a
  \code{"\linkS4class{ddenseModelMatrix}"}, or (\code{sparse = TRUE})
  around \code{\link[Matrix]{sparse.model.matrix}()}, returning a
  \code{"\linkS4class{dsparseModelMatrix}"} object.

  \code{model.Matrix} creates a design matrix from the description given
  in \code{terms(object)}, using the data in \code{data} which must
  supply variables with the same names as would be created by a call to
  \code{model.frame(object)} or, more precisely, by evaluating
  \code{attr(terms(object), "variables")}.

  For more details, see \code{\link{model.matrix}}.
}
\value{
 an object inheriting from class \code{\linkS4class{modelMatrix}}, by
 default, \code{\linkS4class{ddenseModelMatrix}}.
}
% \author{Martin Maechler}
\seealso{
  \code{\link[stats]{model.matrix}}, and
  \code{\link[Matrix]{sparse.model.matrix}} from package \CRANpkg{Matrix}.
}
\examples{
data(CO2, package="datasets")
class(sm <- model.Matrix(~ 0+Type*Treatment, data=CO2, sparse=TRUE))
class(dm <- model.Matrix(~ 0+Type*Treatment, data=CO2, sparse=FALSE))
stopifnot(dim(sm) == c(84,4), dim(sm) == dim(dm), all(sm == dm))
}
\keyword{models}