rdrm {drc} | R Documentation |
Simulating a dose-response curve
Description
Simulation of a dose-response curve with user-specified dose values and error distribution.
Usage
rdrm(nosim, fct, mpar, xerror, xpar = 1, yerror = "rnorm", ypar = c(0, 1),
onlyY = FALSE)
Arguments
nosim |
numeric. The number of simulated curves to be returned. |
fct |
list. Any built-in function in the package drc or a list with similar components. |
mpar |
numeric. The model parameters to be supplied to |
xerror |
numeric or character. The distribution for the dose values. |
xpar |
numeric vector supplying the parameter values defining the distribution for the dose values.
If |
yerror |
numeric or character. The error distribution for the response values. |
ypar |
numeric vector supplying the parameter values defining the error distribution for the response values. |
onlyY |
logical. If TRUE then only the response values are returned (useful in simulations). Otherwise both dose values and response values (and for binomial data also the weights) are returned. |
Details
The distribution for the dose values can either be a fixed set of dose values (a numeric vector) used repeatedly for creating all curves or be a distribution specified as a character string resulting in varying dose values from curve to curve.
The error distribution for the response values can be any continuous distribution
like rnorm
or rgamma
. Alternatively it can be the binomial distribution
rbinom
.
Value
A list with up to 3 components (depending on the value of the onlyY
argument).
Author(s)
Christian Ritz
References
~put references to the literature/web site here ~
Examples
## Simulating normally distributed dose-response data
## Model fit to simulate from
ryegrass.m1 <- drm(rootl~conc, data = ryegrass, fct = LL.4())
## 10 random dose-response curves based on the model fit
sim10a <- rdrm(10, LL.4(), coef(ryegrass.m1), xerror = ryegrass$conc)
sim10a
## Simulating binomial dose-response data
## Model fit to simulate from
deguelin.m1 <- drm(r/n~dose, weights=n, data=deguelin, fct=LL.2(), type="binomial")
## 10 random dose-response curves
sim10b <- rdrm(10, LL.2(), coef(deguelin.m1), deguelin$dose, yerror="rbinom", ypar=deguelin$n)
sim10b