model.matrix.bamlss.frame.Rd
The function creates design (or model) matrices for BAMLSS, i.e., for
each parameter of a bamlss.family
object.
# S3 method for bamlss.frame
model.matrix(object, data = NULL, model = NULL,
drop = TRUE, scale.x = FALSE, ...)
# S3 method for bamlss.formula
model.matrix(object, data = NULL, model = NULL,
drop = TRUE, scale.x = FALSE, ...)
# S3 method for bamlss.terms
model.matrix(object, data = NULL, model = NULL,
drop = TRUE, scale.x = FALSE, ...)
A bamlss.frame
, bamlss.formula
or
terms.bamlss
object.
A data frame or list.
Character or integer, specifies the model for which design matrices should be returned.
If model matrices for only one model
are returned, the list structure is dropped.
Logical, should the model matrices of the linear parts be scaled?
Not used.
Depending on the type of model a named list of model matrices or a single model matrix.
## Generate some data.
d <- GAMart()
## Model formula.
f <- list(
num ~ x1 + x2 + id,
sigma ~ x3 + fac + lon + lat
)
## Create a "bamlss.frame".
bf <- bamlss.frame(f, data = d)
## Get the model matrices.
X <- model.matrix(bf)
head(X$sigma)
#> (Intercept) x3 facmedium fachigh lon lat
#> 1 1 0.1897572 0 0 0.8636364 0.95454545
#> 2 1 0.1045232 0 1 0.5909091 0.86363636
#> 3 1 0.4983402 1 0 0.9090909 0.09090909
#> 4 1 0.1659821 0 0 0.6818182 0.04545455
#> 5 1 0.5665869 0 1 0.5454545 0.81818182
#> 6 1 0.5376464 1 0 0.7727273 0.36363636
## Same with "bamlss.formula".
X <- model.matrix(bamlss.formula(f), data = d)
head(X$sigma)
#> (Intercept) x3 facmedium fachigh lon lat
#> 1 1 0.1897572 0 0 0.8636364 0.95454545
#> 2 1 0.1045232 0 1 0.5909091 0.86363636
#> 3 1 0.4983402 1 0 0.9090909 0.09090909
#> 4 1 0.1659821 0 0 0.6818182 0.04545455
#> 5 1 0.5665869 0 1 0.5454545 0.81818182
#> 6 1 0.5376464 1 0 0.7727273 0.36363636