Lists the fitted or available models.

models(object)

Arguments

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.

Value

A list of the available or fitted models.

Details

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.

Examples

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
#>