R: BAMLSS Engine Helper Functions

bamlss.engine.helpers {bamlss} | R Documentation

## BAMLSS Engine Helper Functions

### Description

These functions can be useful when setting up new model fitting engines that are based on the setup function `bamlss.engine.setup`. See the examples.

### Usage

    ## Functions to extract parameter states.
    get.par(x, what = NULL)
    get.state(x, what = NULL)
    set.par(x, replacement, what)

    ## Function for setting starting values.
    set.starting.values(x, start)

### Arguments

`x` | For function `get.par()` and `set.par()` argument `x` is a named numeric vector. For function `get.state()` argument `x` is an object of the `smooth.construct` list that is processed by function `bamlss.engine.setup`, i.e., which has a `"state"` object. For function `set.starting.values()` argument `x` is the `x` list, as returned from function `bamlss.frame`.
`what` | The name of the parameter(s) that should be extracted or replaced.
`replacement` | The value(s) that should be used for replacement.
`start` | The named numeric vector of starting values. The name convention is based on function `parameters`.

### See Also

`bamlss.engine.setup`

### Examples

    ## Create a bamlss.frame.
    d <- GAMart()
    bf <- bamlss.frame(num ~ s(x1) + s(x2) + te(lon,lat), data = d, family = "gaussian")
    names(bf$x$mu$smooth.construct)

    ## Use the setup function for
    ## adding state elements.
    bf$x <- bamlss.engine.setup(bf$x, df = c("s(x1)" = 1, "s(x2)" = 3))
    names(bf$x$mu$smooth.construct)

    ## Extract regression coefficients.
    get.state(bf$x$mu$smooth.construct[["te(lon,lat)"]], "b")

    ## Extract smoothing variances.
    get.state(bf$x$mu$smooth.construct[["te(lon,lat)"]], "tau2")

    ## More examples.
    state <- bf$x$mu$smooth.construct[["te(lon,lat)"]]$state
    get.par(state$parameters, "b")
    get.par(state$parameters, "tau2")

    state$parameters <- set.par(state$parameters, c(0.1, 0.5), "tau2")
    get.par(state$parameters, "tau2")

    ## Setting starting values.
    start <- c("mu.s.s(x1).b" = 1:9, "mu.s.s(x1).tau2" = 0.1)
    bf$x <- set.starting.values(bf$x, start = start)
    get.state(bf$x$mu$smooth.construct[["s(x1)"]], "b")
    get.state(bf$x$mu$smooth.construct[["s(x1)"]], "tau2")

[Package bamlss version 1.1-7 Index]