The function either sets up a list of all parameters of a bamlss.frame, which can be used for setting up models, or extracts the estimated parameters of a bamlss object.

parameters(x, model = NULL, start = NULL,
  fill = c(0, 1e-04), list = FALSE,
  simple.list = FALSE, extract = FALSE,



A bamlss.frame or bamlss object.


The model name for which parameters should be initialized or extracted.


A named numeric vector which should be used when creating the parameter list. See also function link{set.starting.values}


Numeric, when setting up a parameter list, the values the should be used for regression coefficients (first element of fill) and for smoothing variances (second element of fill).


Should the function return a list of all parameters?


Should the names of parameter vectors be dropped?


Should parameters of a bamlss.frame be extracted or initialized?


Currently not used.


Parameters for BAMLSS are used for optimizer functions in function bamlss. The function is useful for initializing all parameters given a bamlss.frame (which is done internally in function bamlss), but also for extracting all estimated parameters of some optimizer.

The naming convention of the parameter list is used by a couple of functions in this package. For each parameter of the modeled distribution, e.g., gaussian_bamlss has parameters "mu" and "sigma", a list element is created. These elements the contain the list of all model term parameters. Parametric model terms are indicated with "p" and smooth model terms with "s". If the design matrix of a model term in the x list of a bamlss.frame does not contain any columns names, then the parameters are named with a leading "b", otherwise the column names of the design matrix are used. Smoothing variances parameter vectors are named with a leading "tau2".

The naming convention is useful when setting up new model fitting engines for bamlss and is used, e.g., by bfit and GMCMC, which are based on parameter state list objects as provided by function bamlss.engine.setup.


A named list of all parameters of a bamlss.frame or bamlss



## Create a "bamlss.frame"
d <- GAMart()
bf <- bamlss.frame(num ~ s(x1) + te(lon,lat), data = d)

## Create list of all parameters from "bamlss.frame".
p <- parameters(bf, list = TRUE)
#> List of 2
#>  $ mu   :List of 2
#>   ..$ p: Named num 0
#>   .. ..- attr(*, "names")= chr "(Intercept)"
#>   ..$ s:List of 2
#>   .. ..$ s(x1)      : Named num [1:10] 0e+00 0e+00 0e+00 0e+00 0e+00 0e+00 0e+00 0e+00 0e+00 1e-04
#>   .. .. ..- attr(*, "names")= chr [1:10] "b1" "b2" "b3" "b4" ...
#>   .. ..$ te(lon,lat): Named num [1:26] 0 0 0 0 0 0 0 0 0 0 ...
#>   .. .. ..- attr(*, "names")= chr [1:26] "b1" "b2" "b3" "b4" ...
#>  $ sigma:List of 1
#>   ..$ p: Named num 0
#>   .. ..- attr(*, "names")= chr "(Intercept)"

if (FALSE) ## Estimate model.
f <- list(num ~ s(x1) + te(lon,lat), sigma ~ s(x1))
b <- bamlss(f, data = d, sampler = FALSE)
#> Error in environment(formula): object 'f' not found

## Extract estimated parameters.
#> Error in parameters(b): object 'b' not found
parameters(b, list = TRUE)
#> Error in parameters(b, list = TRUE): object 'b' not found