Lists the fitted or available models.
models(object)
An object of class bayesnecfit
or
bayesmanecfit
as returned by bnec
,
a character
vector indicating the type of model set for
which to list the available models, or a numeric
vector
indicating the natural range of values which the models should be able to
handle (see Details). If missing, all available models and their groups are
listed.
A list
of the available or fitted models.
The available models are "nec3param", "nec4param", "nechorme", "nechorme4", "necsigm", "neclin", "neclinhorme", "nechormepwr", "nechorme4pwr", "nechormepwr01", "ecxlin", "ecxexp", "ecxsigm", "ecx4param", "ecxwb1", "ecxwb2", "ecxwb1p3", "ecxwb2p3", "ecxll5", "ecxll4", "ecxll3", "ecxhormebc4", and "ecxhormebc5".
To see the model formula and parameters for a specific model use the
function show_params
.
To see all the models in an available set (e.g. "all", "nec" or ecx") use
the function models
specifying the group name.
To see the model names, model formula and parameters fitted in an existing
bayesnecfit
or bayesmanecfit
model object use
the function models
specifying the fitted object.
To see what models are available for a given type of data use the function
models
passing a numeric
vector indicating
the range of possible data types. Models that have an exponential decay
(most models with parameter "beta") with no "bot" parameter are zero-bounded
and are not suitable for the Gaussian family, or any family modelled using a
logit or log link function. Models with a linear decay
(containing the string "lin" in their name) are not suitable for modelling
families that are zero bounded (Gamma, Poisson, Negative binomial) using an
identity link. Models with a linear decay or hormesis linear increase
(all models with parameter "slope") are not suitable for modelling families
that are 0, 1 bounded (binomial, beta, beta_binomial). These restrictions do
not need to be controlled by the user and a call to bnec
with
models = "all"
will simply exclude inappropriate models.
library(bayesnec)
# default to all models and model groups
models()
#> $nec
#> [1] "nec3param" "nec4param" "nechorme" "nechorme4"
#> [5] "necsigm" "neclin" "neclinhorme" "nechormepwr"
#> [9] "nechorme4pwr" "nechormepwr01"
#>
#> $ecx
#> [1] "ecx4param" "ecxlin" "ecxexp" "ecxsigm" "ecxwb1"
#> [6] "ecxwb2" "ecxwb1p3" "ecxwb2p3" "ecxll5" "ecxll4"
#> [11] "ecxll3" "ecxhormebc4" "ecxhormebc5"
#>
#> $all
#> [1] "nec3param" "nec4param" "nechorme" "nechorme4"
#> [5] "necsigm" "neclin" "neclinhorme" "nechormepwr"
#> [9] "nechorme4pwr" "nechormepwr01" "ecxlin" "ecxexp"
#> [13] "ecxsigm" "ecx4param" "ecxwb1" "ecxwb2"
#> [17] "ecxwb1p3" "ecxwb2p3" "ecxll5" "ecxll4"
#> [21] "ecxll3" "ecxhormebc4" "ecxhormebc5"
#>
#> $bot_free
#> [1] "nec3param" "nechorme" "necsigm" "neclin"
#> [5] "neclinhorme" "nechormepwr" "ecxlin" "ecxexp"
#> [9] "ecxsigm" "ecxwb1p3" "ecxwb2p3" "ecxll3"
#> [13] "ecxhormebc4" "nechormepwr01"
#>
#> $zero_bounded
#> [1] "nec3param" "nechorme" "necsigm" "nechormepwr"
#> [5] "nechormepwr01" "ecxexp" "ecxsigm" "ecxwb1p3"
#> [9] "ecxwb2p3" "ecxll3" "ecxhormebc4"
#>
#> $decline
#> [1] "nec3param" "nec4param" "neclin" "ecxlin" "ecxexp" "ecxsigm"
#> [7] "ecx4param" "ecxwb1" "ecxwb2" "ecxwb1p3" "ecxwb2p3" "ecxll5"
#> [13] "ecxll4" "ecxll3"
#>
#> $hormesis
#> [1] "nechorme" "nechorme4" "neclinhorme" "nechormepwr"
#> [5] "nechorme4pwr" "nechormepwr01" "ecxhormebc4" "ecxhormebc5"
#>
# single model
show_params("nec3param")
#> [[1]]
#> y ~ top * exp(-exp(beta) * (x - nec) * step(x - nec))
#> top ~ 1
#> beta ~ 1
#> nec ~ 1
#>
# group of models
models("all")
#> $nec3param
#> y ~ top * exp(-exp(beta) * (x - nec) * step(x - nec))
#> top ~ 1
#> beta ~ 1
#> nec ~ 1
#>
#> $nec4param
#> y ~ bot + (top - bot) * exp(-exp(beta) * (x - nec) * step(x - nec))
#> bot ~ 1
#> top ~ 1
#> beta ~ 1
#> nec ~ 1
#>
#> $nechorme
#> y ~ (top + exp(slope) * x) * exp(-exp(beta) * (x - nec) * step(x - nec))
#> top ~ 1
#> beta ~ 1
#> nec ~ 1
#> slope ~ 1
#>
#> $nechorme4
#> y ~ bot + ((top + exp(slope) * x) - bot) * exp(-exp(beta) * (x - nec) * step(x - nec))
#> bot ~ 1
#> top ~ 1
#> beta ~ 1
#> nec ~ 1
#> slope ~ 1
#>
#> $necsigm
#> y ~ top * exp(-exp(beta) * (step(x - nec) * (x - nec))^exp(d) * step(x - nec))
#> top ~ 1
#> beta ~ 1
#> nec ~ 1
#> d ~ 1
#>
#> $neclin
#> y ~ top - exp(slope) * (x - nec) * step(x - nec)
#> top ~ 1
#> slope ~ 1
#> nec ~ 1
#>
#> $neclinhorme
#> y ~ (top + exp(slope) * x) - exp(beta) * (x - nec) * step(x - nec)
#> top ~ 1
#> beta ~ 1
#> nec ~ 1
#> slope ~ 1
#>
#> $nechormepwr
#> y ~ (top + x^(1/(1 + exp(slope)))) * exp(-exp(beta) * (x - nec) * step(x - nec))
#> top ~ 1
#> beta ~ 1
#> nec ~ 1
#> slope ~ 1
#>
#> $nechorme4pwr
#> y ~ bot + ((top + x^(1/(1 + exp(slope)))) - bot) * exp(-exp(beta) * (x - nec) * step(x - nec))
#> bot ~ 1
#> top ~ 1
#> beta ~ 1
#> nec ~ 1
#> slope ~ 1
#>
#> $nechormepwr01
#> y ~ (1/(1 + ((1/top) - 1) * exp(-exp(slope) * x))) * exp(-exp(beta) * (x - nec) * step(x - nec))
#> top ~ 1
#> beta ~ 1
#> nec ~ 1
#> slope ~ 1
#>
#> $ecxlin
#> y ~ top - exp(slope) * x
#> top ~ 1
#> slope ~ 1
#>
#> $ecxexp
#> y ~ top * exp(-exp(beta) * x)
#> top ~ 1
#> beta ~ 1
#>
#> $ecxsigm
#> y ~ top * exp(-exp(beta) * x^exp(d))
#> d ~ 1
#> top ~ 1
#> beta ~ 1
#>
#> $ecx4param
#> y ~ top + (bot - top)/(1 + exp((ec50 - x) * exp(beta)))
#> bot ~ 1
#> ec50 ~ 1
#> top ~ 1
#> beta ~ 1
#>
#> $ecxwb1
#> y ~ bot + (top - bot) * exp(-exp(exp(beta) * (x - ec50)))
#> bot ~ 1
#> ec50 ~ 1
#> top ~ 1
#> beta ~ 1
#>
#> $ecxwb2
#> y ~ bot + (top - bot) * (1 - exp(-exp(-exp(beta) * (x - ec50))))
#> bot ~ 1
#> ec50 ~ 1
#> top ~ 1
#> beta ~ 1
#>
#> $ecxwb1p3
#> y ~ 0 + (top - 0) * exp(-exp(exp(beta) * (x - ec50)))
#> ec50 ~ 1
#> top ~ 1
#> beta ~ 1
#>
#> $ecxwb2p3
#> y ~ 0 + (top - 0) * (1 - exp(-exp(-exp(beta) * (x - ec50))))
#> ec50 ~ 1
#> top ~ 1
#> beta ~ 1
#>
#> $ecxll5
#> y ~ bot + (top - bot)/(1 + exp(exp(beta) * (x - ec50)))^exp(f)
#> bot ~ 1
#> top ~ 1
#> beta ~ 1
#> ec50 ~ 1
#> f ~ 1
#>
#> $ecxll4
#> y ~ bot + (top - bot)/(1 + exp(exp(beta) * (x - ec50)))
#> bot ~ 1
#> top ~ 1
#> beta ~ 1
#> ec50 ~ 1
#>
#> $ecxll3
#> y ~ 0 + (top - 0)/(1 + exp(exp(beta) * (x - ec50)))
#> top ~ 1
#> beta ~ 1
#> ec50 ~ 1
#>
#> $ecxhormebc4
#> y ~ 0 + (top - 0 + exp(slope) * x)/(1 + exp(exp(beta) * (x - ec50)))
#> top ~ 1
#> beta ~ 1
#> ec50 ~ 1
#> slope ~ 1
#>
#> $ecxhormebc5
#> y ~ bot + (top - bot + exp(slope) * x)/(1 + exp(exp(beta) * (x - ec50)))
#> bot ~ 1
#> top ~ 1
#> beta ~ 1
#> ec50 ~ 1
#> slope ~ 1
#>
# models that are suitable for 0,1 bounded data
models(c(0,1))
#> $nec3param
#> y ~ top * exp(-exp(beta) * (x - nec) * step(x - nec))
#> top ~ 1
#> beta ~ 1
#> nec ~ 1
#>
#> $nec4param
#> y ~ bot + (top - bot) * exp(-exp(beta) * (x - nec) * step(x - nec))
#> bot ~ 1
#> top ~ 1
#> beta ~ 1
#> nec ~ 1
#>
#> $necsigm
#> y ~ top * exp(-exp(beta) * (step(x - nec) * (x - nec))^exp(d) * step(x - nec))
#> top ~ 1
#> beta ~ 1
#> nec ~ 1
#> d ~ 1
#>
#> $nechormepwr
#> y ~ (top + x^(1/(1 + exp(slope)))) * exp(-exp(beta) * (x - nec) * step(x - nec))
#> top ~ 1
#> beta ~ 1
#> nec ~ 1
#> slope ~ 1
#>
#> $nechorme4pwr
#> y ~ bot + ((top + x^(1/(1 + exp(slope)))) - bot) * exp(-exp(beta) * (x - nec) * step(x - nec))
#> bot ~ 1
#> top ~ 1
#> beta ~ 1
#> nec ~ 1
#> slope ~ 1
#>
#> $nechormepwr01
#> y ~ (1/(1 + ((1/top) - 1) * exp(-exp(slope) * x))) * exp(-exp(beta) * (x - nec) * step(x - nec))
#> top ~ 1
#> beta ~ 1
#> nec ~ 1
#> slope ~ 1
#>
#> $ecxexp
#> y ~ top * exp(-exp(beta) * x)
#> top ~ 1
#> beta ~ 1
#>
#> $ecxsigm
#> y ~ top * exp(-exp(beta) * x^exp(d))
#> d ~ 1
#> top ~ 1
#> beta ~ 1
#>
#> $ecx4param
#> y ~ top + (bot - top)/(1 + exp((ec50 - x) * exp(beta)))
#> bot ~ 1
#> ec50 ~ 1
#> top ~ 1
#> beta ~ 1
#>
#> $ecxwb1
#> y ~ bot + (top - bot) * exp(-exp(exp(beta) * (x - ec50)))
#> bot ~ 1
#> ec50 ~ 1
#> top ~ 1
#> beta ~ 1
#>
#> $ecxwb2
#> y ~ bot + (top - bot) * (1 - exp(-exp(-exp(beta) * (x - ec50))))
#> bot ~ 1
#> ec50 ~ 1
#> top ~ 1
#> beta ~ 1
#>
#> $ecxwb1p3
#> y ~ 0 + (top - 0) * exp(-exp(exp(beta) * (x - ec50)))
#> ec50 ~ 1
#> top ~ 1
#> beta ~ 1
#>
#> $ecxwb2p3
#> y ~ 0 + (top - 0) * (1 - exp(-exp(-exp(beta) * (x - ec50))))
#> ec50 ~ 1
#> top ~ 1
#> beta ~ 1
#>
#> $ecxll5
#> y ~ bot + (top - bot)/(1 + exp(exp(beta) * (x - ec50)))^exp(f)
#> bot ~ 1
#> top ~ 1
#> beta ~ 1
#> ec50 ~ 1
#> f ~ 1
#>
#> $ecxll4
#> y ~ bot + (top - bot)/(1 + exp(exp(beta) * (x - ec50)))
#> bot ~ 1
#> top ~ 1
#> beta ~ 1
#> ec50 ~ 1
#>
#> $ecxll3
#> y ~ 0 + (top - 0)/(1 + exp(exp(beta) * (x - ec50)))
#> top ~ 1
#> beta ~ 1
#> ec50 ~ 1
#>
#> $ecxhormebc4
#> y ~ 0 + (top - 0 + exp(slope) * x)/(1 + exp(exp(beta) * (x - ec50)))
#> top ~ 1
#> beta ~ 1
#> ec50 ~ 1
#> slope ~ 1
#>
#> $ecxhormebc5
#> y ~ bot + (top - bot + exp(slope) * x)/(1 + exp(exp(beta) * (x - ec50)))
#> bot ~ 1
#> top ~ 1
#> beta ~ 1
#> ec50 ~ 1
#> slope ~ 1
#>