bmdOrdinalMA: Benchmark dose estimation for ordinal dose-response models

View source: R/bmdOrdinalMA.R

bmdOrdinalMAR Documentation

Benchmark dose estimation for ordinal dose-response models

Description

Estimation of benchmark doses and benchmark dose lower limit based on model averaging from a user-defined list of ordinal dose-response model fits

Usage

bmdOrdinalMA(modelList, bmr, backgType = c("modelBased", "absolute"), def=c("excess", "additional", "point"), level = 0.95, R = 500, bootType = ("nonparametric", "parametric"), display = TRUE)

Arguments

modelList

A list of ordinal dose-response models of class drcOrdinal

bmr

numeric value of benchmark response level for which to calculate the benchmark dose

backgType

character string specifying how the background level is specified. The options are "modelBased" and "absolute".

"modelBased" - the background level is obtained from the model as the level for dose 0: p0 = f(0)

"absolute" - the background level is specified by the user through the backg argument.

backg

numeric value specifying the background level. Defaults to 0 for "absolute" background risk.

def

character string specifying the definition of the benchmark dose to use in the calculations. "excess", "additional" and "point" are available for ordinal response.

"excess" - BMR is defined as: BMR = (f(BMD) - p0)/(1 - p0). Works for binomial response. BMR should be between 0 and 1.

"additional" - BMR is defined as: BMR = f(BMD) - p0. Works for binomial response. BMR should be between 0 and 1.

"point" - The response level for which to find BMD is directly defined through the BMR level: BMR = f(BMD). Works for binomial, count and continuous response data.

level

numeric value specifying the levle of the confidence interval underlying BMDL. Default is 0.95

R

integer specifying the number of data sets resampled from the original data set when computing the confidence interval by bootstrap.

bootType

character string specifying the resampling procedure for the data sets used for bootstrap.

"nonparametric" - Bootstrapping is done by sampling with replacement from the original data set.

"parametric" - Bootstrapping is done by sampling from a multinomial distribution with probabilites given by the number of observations for each level. If all observations for one group are in the same level, shrinkage is used to avoid that the resampling always produces that particular level. In this case data is sampled from a multinomial distribution with probabilities (1/|K|^2)/(N_i + 1/|K|) for the levels with 0 observations, and (N_i + 1/|K|^2)/(N_i + 1/|K|), where N_i is the number of observatiions for the particular group, and |K| is the number of levels.

All resampling is done within the dose values.

display

logical. If TRUE the results are displayed; otherwise they are not

Details

The aim to provide an R package calculating the benchmark dose (BMD) and the lower limit of the corresponding 95% confidence interval (BMDL) for continuous, quantal, quantal and ordinal dose-response data for a range of dose-response models based on the available definitions of the benchmark dose concepts.

Details on the implemented definitions and methods can be found in Crump (2002)

Value

A list of four elements: Results contain the estimated BMD and BMDL, interval gives the lower (BMDL) and upper (BMDU) end of the confidence interval of BMD.

Author(s)

Signe M. Jensen and Jens Riis Baalkilde

References

Budtz-Jorgensen, E., Keiding, N., and Grandjean, P. (2001) Benchmark Dose Calculation from Epidemiological Data, Biometrics 57, 698–706.

Crump, K. (2002) Critical Issues in Benchmark Calculations from Continuous Data, Critical Reviews in Toxicology 32, 133–153.

Examples

library(drcData)
data(guthion)

guthionS <- subset(guthion, trt == "S")

guthionS.LL <- drmOrdinal(levels = c("alive", "moribund", "dead"), weights = "total", dose = "dose", data = guthionS, fct = LL.2())
guthionS.LN <- drmOrdinal(levels = c("alive", "moribund", "dead"), weights = "total", dose = "dose", data = guthionS, fct = LN.2())
guthionS.W1 <- drmOrdinal(levels = c("alive", "moribund", "dead"), weights = "total", dose = "dose", data = guthionS, fct = W1.2())
guthionS.W2 <- drmOrdinal(levels = c("alive", "moribund", "dead"), weights = "total", dose = "dose", data = guthionS, fct = W2.2())

bmdOrdinalMA(list(guthionS.LL, guthionS.LN, guthionS.W1, guthionS.W2), bmr = 0.1, backgType = "modelBased", def = "excess")

DoseResponse/bmd documentation built on March 29, 2025, 4:36 p.m.