Learn R Programming

survsim (version 1.1.2)

crisk.sim: Generate a cohort in a competing risks context

Description

Simulation of cohorts in a context of competing risks survival analysis including several covariates, individual heterogeneity and periods at risk prior and after the start of follow-up.

Competing risks analysis considers time-to-first-event and the event type, possibly subject to right censoring (Beyersmann et al., 2009)

Usage

crisk.sim(n, foltime, dist.ev, anc.ev, beta0.ev, dist.cens="weibull", 
anc.cens, beta0.cens, z=NA, beta=NA, x=NA, nsit)

Arguments

n
integer value indicating the desired size of the cohort to be simulated.
foltime
real number that indicates the maximum time of follow-up of the simulated cohort.
dist.ev
vector of arbitrary size indicating the time to event distributions, with possible values weibull for the Weibull distribution, lnorm for the log-normal distribution and llogistic for the log-logistic distribution.
anc.ev
vector of arbitrary size of real components containing the ancillary parameters for the time to event distributions.
beta0.ev
vector of arbitrary size of real components containing the $\beta_0$ parameters for the time to event distributions.
dist.cens
string indicating the time to censoring distributions, with possible values weibull for the Weibull distribution, lnorm for the log-normal distribution and llogistic for the log-logistic distribution. If no distribut
anc.cens
real number containing the ancillary parameter for the time to censoring distribution.
beta0.cens
real number containing the $\beta_0$ parameter for the time to censoring distribution.
z
vector with three elements that contains information relative to a random effect used in order to introduce individual heterogeneity. The first element indicates the distribution: "unif" states for a uniform distribution, "gamma"
beta
list of vectors indicating the effect of the corresponding covariate. The number of vectors in beta must match the number of covariates, and the length of each vector must match the number of events considered. Its default value is NA, indica
x
list of vectors indicating the distribution and parameters of any covariate that the user needs to introduce in the simulated cohort. The possible distributions are "normal" for normal distribution, "unif" for uniform distributio
nsit
Number of different events that a subject can suffer. It must match the number of distributions specified in dist.ev.

Value

  • An object of class mult.ev.data.sim. It is a data frame containing the events suffered by the corresponding subjects. The columns of this data frame are detailed below
  • nidan integer number that identifies the subject.
  • causecause of the event corresponding to the follow-up time of the individual.
  • timetime until the corresponding event happens (or time to subject drop-out).
  • statuslogical value indicating if the corresponding event has been suffered or not.
  • starttime at which the follow-up time begins for each event.
  • stoptime at which the follow-up time ends for each event.
  • zIndividual heterogeneity generated according to the specified distribution.
  • xvalue of each covariate randomly generated for each subject in the cohort.

encoding

utf8

Details

In order to get the function to work properly, the length of the vectors containing the parameters of the time to event and the number of distributions indicated in the parameter dist.ev must be the same.

References

Beyersmann J, Latouche A, Buchholz A, Schumacher M. Simulating competing risks data in survival analysis. Stat Med 2009 Jan 5;28(1):956-971.

See Also

survsim-package, accum, rec.ev.sim, mult.ev.sim, simple.surv.sim

Examples

Run this code
### A cohort with 1000 subjects, with a maximum follow-up time of 100 days and two 
### covariates, following Bernoulli distributions, and a corresponding beta of 
### 0.1698695 and 0.0007010932 for each event for the first covariate and a 
### corresponding beta of 0.3735146 and 0.5591244 for each event for the 
### second covariate. Notice that the time to censorship is assumed to follow a 
### log-normal distribution.

sim.data <- crisk.sim(n=1000, foltime=100, dist.ev=c("lnorm","lnorm"),
anc.ev=c(1.479687, 0.5268302),beta0.ev=c(3.80342, 2.535374),dist.cens="lnorm",
anc.cens=1.242733,beta0.cens=5.421748,z=c("unif", 0.8,1.2), 
beta=list(c(0.1698695,0.0007010932),c(0.3735146,0.5591244)), 
x=list(c("bern", 0.381), c("bern", 0.564)), nsit=2)

summary(sim.data)

Run the code above in your browser using DataLab