curveFit: Curve Fitting

View source: R/curveFit.R

curveFitR Documentation

Curve Fitting

Description

Thirteen monotonic(sigmoidal) models ("Hill", "Hill_two", "Hill_three", "Hill_four", "Weibull", "Weibull_three", "Weibull_four", "Logit", "Logit_three", "Logit_four", "BCW(Box-Cox-Weibull)", "BCL(Box-Cox-Logit)", "GL(Generalized Logit)") and four non-monotonic(J-shaped) models ("Brain_Consens", "BCV", "Biphasic", "Hill_five") are provided to fit dose-response data. The goodness of fit of a model is evaluated by the following statistics: coefficient of determination (R^2), adjusted coefficient of determination (R_{adj}^2), root mean squared error (RMSE), mean absolute error (MAE), Akaike information criterion (AIC), bias-corrected Akaike information criterion(AICc), and Bayesian information criterion (BIC).

Usage

curveFit(x, rspn, eq , param, effv, rtype = 'quantal', sigLev = 0.05, sav = FALSE, ...)

Arguments

x

a numeric vector of experimental concentration.

rspn

a numeric matrix of experimental responses with one or more replicates.

eq

equation used for curve fitting: "Hill", "Hill_two", "Hill_three", "Hill_four", "Weibull", "Weibull_three", "Weibull_four", "Logit", "Logit_three", "Logit_four", "BCW", "BCL", "GL", "Brain_Consens", "BCV", "Biphasic", "Hill_five".

param

a vector of starting parameters. Use tuneFit to get the starting values.

effv

a numeric vector of responses for the calculation of effect concentrations. Minus values(e.g., -5%) are permited only in the condition of 'hormesis' dose-responses. Relative values(e.g., 5%, 10%) in the condition of 'continuous' dose-responses.

rtype

three dose-response types: 'quantal', 'continuous', 'hormesis'. Default is 'quantal'. 'quantal': dose-responses with lower limit fixed at 0 and higher limit at 1 (100%). 'continuous': dose-responses with no fixed lower or higher limits. 'hormesis': non-monotonic J or U-shaped dose-responses with lower limit fixed at 0 and higher limit at 1 (100%).

sigLev

the significant level for confidence intervals and Dunnett\'s test. Default is 0.05.

sav

TRUE: save output to a default file; FALSE: output will not be saved; a custom file directory: save output to the custom file directory.

...

other arguments passed to nlsLM in minpack.lm.

Details

Curve fitting is dependent on the package minpack.lm (http://cran.r-project.org/web/packages/minpack.lm/index.html).
Monotonic(sigmoidal) equations are as follows:
Hill:

E = 1/≤ft( {1 + {{≤ft( {α /c} \right)}^β }} \right)

Hill_two:

E = β c/≤ft( {α + c} \right)

Hill_three:

E = γ /≤ft( {1 + {{≤ft( {α /c} \right)}^β }} \right)

Hill_four:

E = δ + ≤ft( {γ - δ } \right)/≤ft( {1 + {{≤ft( {α /c} \right)}^β }} \right)

where α = EC50, β = H (Hill coefficient), γ = Top, and δ = Bottom

Weibull:

E = 1 - \exp ( - \exp (α + β \log (c)))

Weibull_three:

E = γ ≤ft( {1 - \exp ≤ft( { - \exp ≤ft( {α + β \log ≤ft( c \right)} \right)} \right)} \right)

Weibull_four:

E = γ + ≤ft( {δ - γ } \right)\exp ≤ft( { - \exp ≤ft({α + β \log ≤ft( c \right)} \right)} \right)

Logit:

E = {(1 + \exp ( - α - β \log (c)))^{ - 1}}

Logit_three:

E = γ /≤ft( {1 + \exp ≤ft( {≤ft( { - α } \right) - β \log ≤ft( c \right)} \right)} \right)

Logit_four:

E = δ + ≤ft( {γ - δ } \right)/≤ft( {1 + \exp ≤ft ( {≤ft( { - α } \right) - β \log ≤ft( c \right)} \right)} \right)

where α is the location parameter and β slope parameter. γ = Top, and δ = Bottom

BCW:

E = 1 - \exp ≤ft( { - \exp ≤ft( {α + β ≤ft( {\frac{{{c^γ } - 1}}{γ }} \right)} \right)} \right)

BCL:

E = {(1 + \exp ( - α - β (({c^γ } - 1)/γ )))^{ - 1}}

GL:

E = 1/{(1 + \exp ( - α - β \log (c)))^γ }

Non-monotonic(J-shaped) models:
Hill_five:

E = 1 - ≤ft( {1 + ≤ft( {γ - 1} \right)/≤ft( {1 + {{≤ft( {α /c} \right)}^β }} \right)} \right)≤ft( {1 - 1/≤ft( {1 + {{≤ft( {δ /c} \right)} ^\varepsilon }} \right)} \right)

Brain_Consens:

E = 1 - ≤ft( {1 + α c} \right)/≤ft( {1 + \exp ≤ft( {β γ } \right){c^β }} \right)

where α is the initial rate of increase at low concentration, β the way in which response decreases with concentration, and γ no simple interpretation.

BCV:

E = 1 - α ≤ft( {1 + β c} \right)/≤ft( {1 + ≤ft( {1 + 2β γ } \right){{≤ft( {c/γ } \right)}^δ }} \right)

where α is untreated control, β the initial rate of increase at low concentration, γ the concentration cause 50% inhibition, and δ no simple interpretation.

Cedergreen:

E = 1 - ≤ft( {1 + α \exp ≤ft( { - 1/≤ft( {{c^β }} \right)} \right)} \right)/≤ft( {1 + \exp ≤ft( {γ ≤ft({\ln ≤ft( c \right) - \ln ≤ft( δ \right)} \right)} \right)} \right)

where α the initial rate of increase at low concentration, β the rate of hormetic effect manifests itself, γ the steepness of the curve after maximum hormetic effect, and δ the lower bound on the EC50 level.

Beckon:

E = ≤ft( {α + ≤ft( {1 - α } \right)/≤ft( {1 + {{≤ft( {β /c} \right)}^γ }} \right)} \right)/≤ft( {1 + {{≤ft( {c/δ } \right)}^\varepsilon }} \right)

where α is the minimum effect that would be approached by the downslope in the absence of the upslope, β the concentration at the midpoint of the falling slope, γ the steepness of the rising(positive) slope, δ the concentration at the midpoint of the rising slope, and ε the steepness of the falling(negative) slope.

Biphasic:

E = α - α /≤ft( {1 + {{10}^{≤ft( {≤ft( {c - β } \right)γ } \right)}}} \right) + ≤ft( {1 - α } \right)/≤ft ( {1 + {{10}^{≤ft( {≤ft( {δ - c} \right)\varepsilon } \right)}}} \right)

where α is the minimum effect that would be approached by the downslope in the absence of the upslope, β the concentration at the midpoint of the falling slope, γ the steepness of the rising(positive) slope, δ the concentration at the midpoint of the rising slope, and ε the steepness of the falling(negative) slope.
In all, E represents effect and c represents concentration.

Value

fitInfo

curve fitting information.

eq

equation used in curve fitting.

p

fitted parameters.

res

residual.

sta

goodness of fit.

crcInfo

a numeric matrix with the experimental concentration (x), predicted and experimental responses, experimental responses, lower and upper bounds of (non-simultaneous) prediction intervals (PI.low and PI.up), and lower and upper bounds of (non-simultaneous) confidence intervals (CI.low and CI.up).

ecx

effect concentrations only if effv is provided.

effvAbs

Absolute effects corresponding to effv only in the condition of 'continuous' dose-responses.

rtype

dose-response type.

rspnRange

response range. The lower limit is the response at extremely low dose. The higher limit is the response at infinite high dose.

minx

concentration to induce the maximum stimulation for 'continuous' dose-response

miny

the maximum stimulation for 'continuous' data.

Note

tuneFit is recommended to find the starting values.

References

Scholze, M. et al. 2001. A General Best-Fit Method for dose-response Curves and the Estimation of Low-Effect Concentrations. Environmental Toxicology and Chemistry 20(2):448-457.
Zhu X-W, et.al. 2013. Modeling non-monotonic dose-response relationships: Model evaluation and hormetic quantities exploration. Ecotoxicol. Environ. Saf. 89:130-136.
Howard GJ, Webster TF. 2009. Generalized concentration addition: A method for examining mixtures containing partial agonists. J. Theor. Biol. 259:469-477.
Spiess, A.-N., Neumeyer, N., 2010. An evaluation of R2 as an inadequate measure for nonlinear models in pharmacological and biochemical research: A Monte Carlo approach. BMC Pharmacol. 10, 11.
Huet, S., Bouvier, A., Poursat, M.-A., Jolivet, E., 2004. Statistical tools for nonlinear regression: a practical guide with S-PLUS and R examples. Springer Science & Business Media.
Gryze, S. De, Langhans, I., Vandebroek, M., 2007. Using the correct intervals for prediction: A tutorial on tolerance intervals for ordinary least-squares regression. Chemom. Intell. Lab. Syst. 87, 147-154.

Examples

## example 1
# Fit hormesis dose-response data.
# Calculate the concentrations that cause 5% of 50% inhibition.
x <- hormesis$OmimCl$x
rspn <- hormesis$OmimCl$y
curveFit(x, rspn, eq = 'Biphasic', param = c(-0.34, 0.001, 884, 0.01, 128), 
			effv = 0.5, rtype = 'hormesis')

x <- hormesis$HmimCl$x
rspn <- hormesis$HmimCl$y
curveFit(x, rspn, eq = 'Biphasic', param = c(-0.59, 0.001, 160,0.05, 19),  
			effv = c(0.05, 0.5), rtype = 'hormesis')

x <- hormesis$ACN$x
rspn <- hormesis$ACN$y
curveFit(x, rspn, eq = 'Brain_Consens', param = c(2.5, 2.8, 0.6, 2.44),  
			effv = c(0.05, 0.5), rtype = 'hormesis')

x <- hormesis$Acetone$x
rspn <- hormesis$Acetone$y
curveFit(x, rspn, eq = 'BCV', param = c(1.0, 3.8, 0.6, 2.44),  effv = c(0.05, 0.5), 
			rtype = 'hormesis')

## example 2
# Fit quantal dose-responses: the inhibition of heavy metal Ni(2+) on the growth of MCF-7 cells.
# Calculate the concentrations that cause 5% and 50% inhibition. 
x <- cytotox$Ni$x
rspn <- cytotox$Ni$y
curveFit(x, rspn, eq = 'Logit', param = c(12, 3), effv = c(0.05, 0.5), rtype = 'quantal')

## example 3
# Fit quantal dose-responses: the inhibition effect of Paromomycin Sulfate (PAR) on photobacteria.
# Calculate the concentrations that cause 5% and 50% inhibition.
x <- antibiotox$PAR$x
rspn <- antibiotox$PAR$y
curveFit(x, rspn, eq = 'Logit', param = c(26, 4), effv = c(0.05, 0.5))

mixtox documentation built on June 20, 2022, 5:05 p.m.

Related to curveFit in mixtox...