Learn R Programming

drc (version 2.1-1)

drm: Fitting dose-response models

Description

A general model fitting function for concentration/dose/time-response models.

Usage

drm(formula, curveid, pmodels, weights, data = NULL, subset, fct, 
  type = c("continuous", "binomial", "Poisson", "quantal", "survival"), bcVal = NULL, bcAdd = 0, 
  start, na.action = na.fail, robust = "mean", logDose = NULL, 
  control = drmc(), lowerl = NULL, upperl = NULL, separate = FALSE)

Arguments

formula
a symbolic description of the model to be fit. Either of the form 'response $~$ dose' or as a data frame with response values in first column and dose values in second column.
curveid
a numeric vector or factor containing the grouping of the data.
pmodels
a data frame with a many columns as there are parameters in the non-linear function. Or a list containing a formula for each parameter in the non-linear function.
weights
a numeric vector containing weights that are multiplied inside the squared errors (see the details below).
data
an optional data frame containing the variables in the model.
subset
an optional vector specifying a subset of observations to be used in the fitting process.
fct
a list with three or more elements specifying the non-linear function, the accompanying self starter function, the names of the parameter in the non-linear function and, optionally, the first and second derivatives as well as information used for c
bcVal
a numeric value specifying the lambda parameter to be used in the Box-Cox transformation.
bcAdd
a numeric value specifying the constant to be added on both sides prior to Box-Cox transformation. The default is 0.
type
a character string specifying the data type: continuous is the only option currently.
start
an optional numeric vector containing starting values for all mean parameters in the model. Overrules any self starter function.
na.action
a function which indicates what should happen when the data contain 'NA's. The default is na.fail. To omit 'NA's use na.omit.
robust
a character string specifying the rho function for robust estimation. Default is non-robust least squares estimation ("mean"). Available robust methods are: median estimation ("median"), least median of squares ("lms"), least trimmed squares ("lts
logDose
a numeric value or NULL. If log doses value are provided the base of the logarithm should be specified (exp(1) for the natural logarithm and 10 for 10-logarithm).
control
a list of arguments controlling constrained optimisation (zero as boundary), maximum number of iteration in the optimisation, relative tolerance in the optimisation, warnings issued during the optimisation.
lowerl
a numeric vector of lower limits for all parameters in the model (the default corresponds to minus infinity for all parameters).
upperl
a numeric vector of upper limits for all parameters in the model (the default corresponds to plus infinity for all parameters).
separate
logical value indicating whether curves should be fit separately (independent of each other).

Value

  • An object of class 'drc'.

Details

This function relies on the general multi-purpose optimiser function optim for the minimisation of the minus log likelihood function. For a quantitative response this reduces to least squares estimation, which is carried out by minimising the following sums of squares $$\sum_{i=1}^N [w_i (y_i-f_i)]^2$$ where $y_i$, $f_i$, and $w_i$ correspond to the observed value, expected value, and the weight respectively, for the ith observation (from 1 to $N$). The control arguments are specified using the function drmc. For robust estimation MAD (median abslolute deviance) is used to estimate the residual variance. Setting lowerl and/or upperl automatically invokes constrained optimisation.

See Also

Examples using drm found in the help pages of secalonic, ryegrass, and many other datasets and functions in drc.