model.matrix.bamlss.frame.RdThe 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