Learn R Programming

DoseFinding (version 0.5-5)

Dose-Response Models: Built-in dose-response models in DoseFinding

Description

Below are the model functions: Beta model $$f(d,\theta)=E_0+E_{max}B(\delta_1,\delta_2)(d/scal)^{\delta_1}(1-d/scal)^{\delta_2}$$ here $$B(\delta_1,\delta_2)=(\delta_1+\delta_2)^{\delta_1+\delta_2}/(\delta_1^{\delta_1} \delta_2^{\delta_2})$$ and $scal$ is a scale parameter that is not estimated in the code. Emax model $$f(d,\theta)=E_0+E_{max}\frac{d}{ED_{50}+d}$$ Sigmoid Emax Model $$f(d,\theta)=E_0+E_{max}\frac{d^h}{ED^h_{50}+d^h}$$ Exponential Model $$f(d,\theta)=E_0+E_1(exp(d/\delta)-1)$$ Linear Model $$f(d,\theta)=E_0+\delta d$$ Linear in log Model $$f(d,\theta)=E_0+\delta \log(d + off)$$ here $off$ is an offset parameter not estimated in the code. Logistic Model $$f(d, \theta) = E_0 + E_{\max}/\left{1 + \exp\left[ \left(ED_{50} - d \right)/\delta \right] \right}$$ Quadratic Model $$f(d,\theta)=E_0+\beta_1d+\beta_2d^2$$

Usage

betaMod(dose, e0, eMax, delta1, delta2, scal)

emax(dose, e0, eMax, ed50)

sigEmax(dose, e0, eMax, ed50, h)

exponential(dose, e0, e1, delta)

linear(dose, e0, delta)

linlog(dose, e0, delta, off = 1)

logistic(dose, e0, eMax, ed50, delta)

quadratic(dose, e0, b1, b2)

Arguments

dose
Dose variable
e0
For most models placebo effect. For logistic model left-asymptote parameter, corresponding to a basal effect level (not the placebo effect)
eMax
Beta Model: Maximum effect within dose-range Emax, sigmoid Emax, logistic Model: Asymptotic maximum effect
ed50
Dose giving half of the asymptotic maximum effect
h
Hill parameter, determining the steepness of the model at the ED50
e1
Slope parameter for exponential model
delta
Exponential model: Parameter, controlling the convexity of the model. Linear and linlog model: Slope parameter Logistic model: Parameter controlling determining the steepness of the curve
delta1
delta1 parameter for beta model
delta2
delta2 parameter for beta model
b1
first parameter of quadratic model
b2
second parameter of quadratic model (controls, whether model is convex or concave)
off
Offset value to avoid problems with dose=0 (treated as a fixed value in the code)
scal
Scale parameter (treated as a fixed value in the code)

Value

  • Response value

Details

The beta model is intended to capture non-monotone dose-response relationships and is more flexible than the quadratic model. The kernel of the beta model function consists of the kernel of the density function of a beta distribution on the interval [0,scal]. The parameter scal is not estimated but needs to be set to a value larger than the maximum dose via the argument scal (a reasonable value is often 1.2*(maximum dose)). The Emax model is used to represent monotone, concave dose-response shapes. To distinguish it from the more general sigmoid emax model it is sometimes also called hyperbolic emax model. The sigmoid Emax model is an extension of the (hyperbolic) Emax model by introducing an additional parameter h, that determines the steepness of the curve at the ed50 value. The sigmoid Emax model describes monotonic, sigmoid dose-response relationships. The exponential model is intended to capture a possible sub-linear or a convex dose-response relationship. The linear in log-dose model is intended to capture concave shapes. The parameter off is not estimated in the code but set to a pre-specified value. The logistic model is intended to capture general monotone, sigmoid dose-response relationships. The quadratic model is intended to capture a possible non-monotonic dose-response relationship.

References

MacDougall, J. (2006). Analysis of dose-response studies - Emax model,in N. Ting (ed.), Dose Finding in Drug Development, Springer, New York, pp. 127--145 Pinheiro, J. C., Bretz, F. and Branson, M. (2006). Analysis of dose-response studies - modeling approaches, in N. Ting (ed.). Dose Finding in Drug Development, Springer, New York, pp. 146--171

See Also

fitDRModel, gFitDRModel

Examples

Run this code
## some beta model example shapes
betaModList <- list(betaMod = rbind(c(1,1), c(1.5,0.75), c(0.8,2.5), c(0.4,0.9)))
plotModels(betaModList, c(0,1), base = 0, maxEff = 1, scal = 1.2)

## some emax example shapes
emaxModList <- list(emax = c(0.02,0.1,0.5,1))
plotModels(emaxModList, c(0,1), base = 0, maxEff = 1)

## some sigmoid emax example shapes
sigEmaxModList <- list(sigEmax = rbind(c(0.5,1), c(0.5,8), c(0.2,1), c(0.2,8)))
plotModels(sigEmaxModList, c(0,1), base = 0, maxEff = 1)

## some exponential example shapes
expoModList <- list(exponential = c(0.1,0.25,0.5,2))
plotModels(expoModList, c(0,1), base = 0, maxEff = 1)

## some logistic model example shapes
logistModList <- list(logistic = rbind(c(0.5,0.05), c(0.5,0.15), c(0.2,0.05), c(0.2,0.15)))
plotModels(logistModList, c(0,1), base = 0, maxEff = 1)

Run the code above in your browser using DataLab