Learn R Programming

drc (version 2.5-12)

EDcomp: Comparing selectivity indices across curves

Description

'EDcomp' compares selectivity indices for arbitrary dosage across curves. The selectivity is the ratio between effective dosages from different curves.

Usage

EDcomp(object, percVec, percMat = NULL, compMatch = NULL, od = FALSE, vcov. = vcov, reverse = FALSE, interval = c("none", "delta", "fieller", "fls"), level = ifelse(!(interval == "none"), 0.95, NULL), reference = c("control", "upper"), type = c("relative", "absolute"), display = TRUE, pool = TRUE, logBase = NULL, ...) relpot(object, plotit = TRUE, compMatch = NULL, percVec = NULL, interval = "none", type = c("relative", "absolute"), scale = c("original", "percent", "unconstrained"), ...)

Arguments

object
an object of class 'drc'.
percVec
a numeric vector of dosage values.
percMat
a matrix with 2 columns providing the pairs of indices percVec to be compared. By default all pairs are compared.
compMatch
an optional character vector of names of assays to be compared. If not specified all comparisons are supplied.
od
logical. If TRUE adjustment for over-dispersion is used. This argument only makes a difference for binomial data.
vcov.
function providing the variance-covariance matrix. vcov is the default, but sandwich is also an option (for obtaining robust standard errors).
reverse
logical. If TRUE the order of comparison of two curves is reversed.
interval
character string specifying the type of confidence intervals to be supplied. The default is "none". Use "delta" for asymptotics-based confidence intervals (using the delta method and the t-distribution). Use "fieller" for confidence intervals based on Fieller's theorem (with help from the delta method). Use "fls" for confidence interval back-transformed from logarithm scale (in case the parameter in the model fit is log(ED50) as is the case for the logistic or llogistic2 models); currently the argument logBase then also needs to be specified.
level
numeric. The level for the confidence intervals. Default is 0.95.
reference
character string. Is the upper limit or the control level the reference?
type
character string specifying whether absolute or relative response levels are supplied.
logBase
numeric. The base of the logarithm in case logarithm transformed dose values are used.
display
logical. If TRUE results are displayed. Otherwise they are not (useful in simulations).
pool
logical. If TRUE curves are pooled. Otherwise they are not. This argument only works for models with independently fitted curves as specified in drm.
...
In SI: additional arguments to the function doing the calculations. For instance the upper limit for the bisection method needs to be larger than the ED values used in the required relative pontency. In relpot: additional graphical parameters.
plotit
logical. If TRUE the relative potencies are plotted as a function of the response level.
scale
character string indicating the scale to be used on the x axis: original or percent response level (only having an effect for type="relative").

Value

A list containing the shown matrix with columns containing the estimates, estimated standard errors, t-statistics for testing indices equal to 1 and the corresponding p-values and, as the second list component, a list with elements to be plugged directly into parm in the package multcomp.

Details

The function relpot is a convenience function, which is useful for assessing how the relative potency changes as a function of the response level (eg for plotting as outlined in Ritz et al (2006)). Fieller's theorem is incorporated using the formulas Kotz and Johnson (1983) and Finney (1978).

For objects of class 'braincousens' or 'mlogistic' the additional argument may be the 'upper' argument or the 'interval' argument. The 'upper' argument specifies the upper limit of the bisection method. The upper limits needs to be larger than the EDx level to be calculated. The default limit is 1000. The 'interval' argument should specify a rough interval in which the dose yielding the maximum hormetical response lies. The default interval is 'c(0.001, 1000)'. Notice that the lower limit should not be set to 0 (use something like 1e-3, 1e-6, ...).

References

Finney, D. J. (1978) Statistical method in Biological Assay, London: Charles Griffin House, 3rd edition (pp. 80--82).

Kotz, S. and Johnson, N. L. (1983) Encyclopedia of Statistical Sciences Volume 3, New York: Wiley \& Sons (pp. 86--87). Ritz, C. and Cedergreen, N. and Jensen, J. E. and Streibig, J. C. (2006) Relative potency in nonsimilar dose-response curves, Weed Science, 54, 407--412.

See Also

A related functions ED.drc (for calculating effective doses) and relpot (for displaying relative potencies).

Examples

Run this code

spinach.LL.4 <- drm(SLOPE~DOSE, CURVE, data = spinach, fct = LL.4())

EDcomp(spinach.LL.4, c(50,50))
EDcomp(spinach.LL.4, c(10,50))
EDcomp(spinach.LL.4, c(10,50), reverse = TRUE)

## Using the package multcomp
#sires <- SI(spinach.LL.4, c(25, 50, 75))
#library(multcomp)
#summary(glht(parm(sires[[2]][[1]], sires[[2]][[2]]), rhs = 1))

## Comparing specific ratios: 25/25, 50/50, 75/75
#sires2 <- SI(spinach.LL.4, c(25, 50, 75), matrix(c(1, 1, 2, 2, 3, 3), 3, 2, byrow = TRUE))
#library(multcomp)
#summary(glht(parm(sires2[[2]][[1]], sires2[[2]][[2]]), rhs = 1))


## Relative potency of two herbicides
m2 <- drm(DryMatter~Dose, Herbicide, 
data = S.alba, fct = LL.3())

EDcomp(m2, c(50, 50))  
EDcomp(m2, c(50, 50), interval = "delta")
EDcomp(m2, c(50, 50), interval = "fieller")

## Comparison based on absolute
##  response level

m3 <- drm(SLOPE~DOSE, CURVE,
data = spinach, fct = LL.4())

EDcomp(m3, c(0.5,0.5), compMatch = c(2,4), type = "absolute", interval = "fieller")

EDcomp(m3, c(55,80), compMatch = c(2,4))  
# same comparison using a relative response level


## Relative potency transformed from log scale
m4 <- drm(drymatter~log(dose), treatment, data=G.aparine[-c(1:40), ], 
pmodels = data.frame(treatment,treatment,1,treatment), fct = LL2.4())

EDcomp(m4, c(50,50), interval = "fls", logBase = exp(1))

Run the code above in your browser using DataLab