braincousens {drc} | R Documentation |
'braincousens' provides a very general way of specifying Brain-Cousens' modified log- logistic model for describing hormesis, under various constraints on the parameters.
braincousens(lowerc = c(-Inf, -Inf, -Inf, -Inf, -Inf), upperc = c(Inf, Inf, Inf, Inf, Inf), fixed = c(NA, NA, NA, NA, NA), names = c("b", "c", "d", "e", "f"), scaleDose = TRUE)
lowerc |
numeric vector. The lower bound on parameters. Default is minus infinity. |
upperc |
numeric vector. The upper bound on parameters. Default is plus infinity. |
fixed |
numeric vector. Specifies which parameters are fixed and at what value they are fixed. NAs for parameter that are not fixed. |
names |
a vector of character strings giving the names of the parameters (should not contain ":"). The default is reasonable (see under 'Usage'). The order of the parameters is: b, c, d, e, f (see under 'Details'). |
scaleDose |
logical. If TRUE dose values are scaled around 1 during estimation; this is required for datasets where all dose values are small. |
The Brain-Cousens model is given by the expression
f(x) = c + frac{d-c+fx}{1+exp(b(log(x)-log(e)))}
which is a five-parameter model.
It is a modification of the four-parameter logistic curve to take hormesis into account.
The value returned is a list containing the non-linear function, the self starter function, the parameter names and additional model specific objects.
This function is for use with the function drm
or multdrc
.
Christian Ritz
Brain, P. and Cousens, R. (1989) An equation to describe dose responses where there is stimulation of growth at low doses, Weed Research, 29, 93–96.
A special case of the function 'braincousens' is BC.4
.
## Brain-Cousens model with the constraint b>1 model1 <- multdrc(ryegrass, fct=braincousens(fixed=c(NA, NA, NA, NA, NA), lowerc=c(1, -Inf, -Inf, -Inf, -Inf)), control=mdControl(constr=TRUE)) summary(model1) ## Brain-Cousens model with the constraint f>0 model2 <- multdrc(ryegrass, fct=braincousens(fixed=c(NA, NA, NA, NA, NA), lowerc=c(-Inf, -Inf, -Inf, -Inf, 0)), control=mdControl(constr=TRUE)) summary(model2) rm(model1, model2)