simreccomp {simrec} | R Documentation |
simreccomp
Description
This function allows simulation of time-to-event-data that follow a multistate-model
with recurrent events of one type and a competing event. The baseline hazard for the
cause-specific hazards are here functions of the total/calendar time.
To induce between-subject-heterogeneity a random
effect covariate (frailty term) can be incorporated for the recurrent and the competing event.
Data for the recurrent events of the individual i
are generated
according to the cause-specific hazards
\lambda_{0r}(t)* Z_{ri} *exp(\beta_r^t X_i),
where X_i
defines the covariate vector and \beta_r
the regression coefficient vector.
\lambda_{0r}(t)
denotes the baseline hazard, being a function of the total/calendar
time t
and
Z_{ri}
denotes the frailty variables with (Z_{ri})_i
iid with E(Z_{ri})=1
and
Var(Z_{ri})=\theta_r
. The parameter \theta_r
describes the degree of
between-subject-heterogeneity for the recurrent event.
Analougously the competing event is generated according to the cause-specific hazard conditionally
on the frailty variable and covariates:
\lambda_{0c}(t)* Z_{ci} *exp(\beta_c^t X_i)
Data output is in the counting process format.
Usage
simreccomp(
N,
fu.min,
fu.max,
cens.prob = 0,
dist.x = "binomial",
par.x = 0,
beta.xr = 0,
beta.xc = 0,
dist.zr = "gamma",
par.zr = 0,
a = NULL,
dist.zc = NULL,
par.zc = NULL,
dist.rec,
par.rec,
dist.comp,
par.comp,
pfree = 0,
dfree = 0
)
Arguments
N |
Number of individuals |
fu.min |
Minimum length of follow-up. |
fu.max |
Maximum length of follow-up. Individuals length of follow-up is
generated from a uniform distribution on
|
cens.prob |
Gives the probability of being censored due to loss to follow-up before
|
dist.x |
Distribution of the covariate(s) |
par.x |
Parameters of the covariate distribution(s). For |
beta.xr |
Regression coefficient(s) for the covariate(s) |
beta.xc |
Regression coefficient(s) for the covariate(s) |
dist.zr |
Distribution of the frailty variable |
par.zr |
Parameter |
a |
Alternatively, the frailty distribution for the competing event can be computed through the distribution
of the frailty variable |
dist.zc |
Distribution of the frailty variable |
par.zc |
Parameter |
dist.rec |
Form of the baseline hazard function for the recurrent events.
Possible values are |
par.rec |
Parameters for the distribution of the recurrent event data.
If
where
where
where
.
Then |
dist.comp |
Form of the baseline hazard function for the competing event.
Possible values are |
par.comp |
Parameters for the distribution of the competing event data.
For more details see |
pfree |
Probability that after experiencing an event the individual is not at risk
for experiencing further events for a length of |
dfree |
Length of the risk-free interval. Must be in the same time unit as |
Value
The output is a data.frame consisting of the columns:
id |
An integer number for identification of each individual |
x |
or |
zr |
Contains the randomly generated value of the frailty variable |
zc |
Contains the randomly generated value of the frailty variable |
start |
The start of interval |
stop |
The time of an event or censoring, i.e. the end of interval |
status |
An indicator of whether an event occured at time |
fu |
Length of follow-up period |
For each individual there are as many lines as it experiences events, plus one line if being censored. The data format corresponds to the counting process format.
Author(s)
Katharina Ingel, Stella Preussler, Antje Jahn-Eimermacher. Institute of Medical Biostatistics, Epidemiology and Informatics (IMBEI), University Medical Center of the Johannes Gutenberg-University Mainz, Germany
See Also
simrec
Examples
### Example:
### A sample of 10 individuals
N <- 10
### with a binomially distributed covariate and a standard normally distributed covariate
### with regression coefficients of beta.xr=0.3 and beta.xr=0.2, respectively,
### for the recurrent events,
### as well as regression coefficients of beta.xc=0.5 and beta.xc=0.25, respectively,
### for the competing event.
dist.x <- c("binomial", "normal")
par.x <- list(0.5, c(0, 1))
beta.xr <- c(0.3, 0.2)
beta.xc <- c(0.5, 0.25)
### a gamma distributed frailty variable for the recurrent event with variance 0.25
### and for the competing event with variance 0.3,
dist.zr <- "gamma"
par.zr <- 0.25
dist.zc <- "gamma"
par.zc <- 0.3
### alternatively the frailty variable for the competing event can be computed via a:
a <- 0.5
### Furthermore a Weibull-shaped baseline hazard for the recurrent event with shape parameter
### lambda=1 and scale parameter nu=2,
dist.rec <- "weibull"
par.rec <- c(1, 2)
### and a Weibull-shaped baseline hazard for the competing event with shape parameter lambda=1
### and scale parameter nu=2
dist.comp <- "weibull"
par.comp <- c(1, 2)
### Subjects are to be followed for two years with 20% of the subjects
### being censored according to a uniformly distributed censoring time
### within [0,2] (in years).
fu.min <- 2
fu.max <- 2
cens.prob <- 0.2
### After each event a subject is not at risk for experiencing further events
### for a period of 30 days with a probability of 50%.
dfree <- 30 / 365
pfree <- 0.5
simdata1 <- simreccomp(
N = N, fu.min = fu.min, fu.max = fu.max, cens.prob = cens.prob,
dist.x = dist.x, par.x = par.x, beta.xr = beta.xr, beta.xc = beta.xc,
dist.zr = dist.zr, par.zr = par.zr, a = a,
dist.rec = dist.rec, par.rec = par.rec, dist.comp = dist.comp, par.comp = par.comp,
pfree = pfree, dfree = dfree
)
simdata2 <- simreccomp(
N = N, fu.min = fu.min, fu.max = fu.max, cens.prob = cens.prob,
dist.x = dist.x, par.x = par.x, beta.xr = beta.xr, beta.xc = beta.xc,
dist.zr = dist.zr, par.zr = par.zr, dist.zc = dist.zc, par.zc = par.zc,
dist.rec = dist.rec, par.rec = par.rec, dist.comp = dist.comp, par.comp = par.comp,
pfree = pfree, dfree = dfree
)
simdata1
simdata2