Richards growth function
growth_richards.Rd
Functional form for the Richards growth model.
response(time) =
K0 + (K - K0)/(
1 + nu * exp(
1 + nu + rate/(K - K0) * (1 + nu)^(1 + 1/nu) *
(lambda - time))) ^ (1/nu)
The parameterization follows (Zwietering, 1990) and grofit:
K = **carrying capacity**, `K = response(time = Inf)`. The
\pkg{grofit} package calls this parameter `A`. `K` has the same
units as the `response`.
K0 = **initial population size** `K0 = response(time = 0)`. The
\pkg{grofit} package assumes `K0=0`. `K0` has the same units as
the `response`.
rate = **maximum growth rate** `rate = max[d(response)/d(time)]`. The
\pkg{grofit} package calls this `mu`. `rate` has the units of
`response/time`
lambda = **duration of the lag-phase** the time point at which the
tangent through the growth curve when it achieves the maximum
growth rate crosses the initial population size `K0`. (see
Figure 2 in (Kahm et al., 2010)).
nu = **growth asymmetry** before and after the inflection
References
Zwietering M. H., Jongenburger I., Rombouts F. M., van 't Riet K., (1990) Modeling of the Bacterial Growth Curve. Appl. Environ. Microbiol., 56(6), 1875-1881 https://doi.org/10.1128/aem.56.6.1875-1881.1990
Kahm, M., Hasenbrink, G., Lichtenberg-Fraté, H., Ludwig, J., & Kschischo, M. (2010). grofit: Fitting Biological Growth Curves with R. J. Stat. Softw., 33(7), 1–21. https://doi.org/10.18637/jss.v033.i07
Examples
if (FALSE) { # \dontrun{
# Generate Richards growth curve
data <- data.frame(
time = seq(0, 2, length.out = 101)) |>
dplyr::mutate(
response = stats::rnorm(
n = length(time),
mean = BayesPharma::growth_richards(
K = 1,
K0 = 0,
rate = 2,
lambda = 0.5,
nu = 2,
time = time),
sd = .2))
} # }