curveFit | R Documentation |
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).
curveFit(x, rspn, eq , param, effv, rtype = 'quantal', sigLev = 0.05, sav = FALSE, ...)
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. |
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.
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. |
tuneFit is recommended to find the starting values.
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.
## 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))
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.