simulate_trials: Perform simulations of time-to-event data using arbitrary...

Description Usage Arguments Value Author(s) Examples

View source: R/simulation_functions.R

Description

Function for simulating generalised two-arm time-to-event trial data for NPH trials with arbitrary event, censoring and recruitment distributions.
Event and censoring distributions are specified via Curve objects, with recruitment specified through an RCurve object. As it uses same architecture and similar syntax to nph_traj(), analysis results ought to be directly comparable. It is designed to complement nph_traj(), either as a stochastic alternative, or as a means to validate its outputs. It can also be used to build more complex simulations by combining the outputs of multiple runs; e.g. multi-arm trials.
Data sets created by this function are formatted so they may be automatically recognised and analysed by analyse_sim().

Usage

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
simulate_trials(
  active_ecurve,
  control_ecurve,
  active_dcurve = Blank(),
  control_dcurve = Blank(),
  rcurve,
  assess = NULL,
  fix_events = NULL,
  iterations,
  seed,
  detailed_output = FALSE,
  output_type = c("matrix", "list")
)

Arguments

active_ecurve

Event distribution for the active arm, specified as a Curve object

control_ecurve

Event distribution for the control arm, specified as a Curve object

active_dcurve

Dropout/censoring distribution for the active arm, specified as a Curve object. By default, Blank(), i.e. no dropout.

control_dcurve

Dropout/censoring distribution for the control arm, specified as a Curve object. By default, Blank(), i.e. no dropout.

rcurve

Recruitment distribution, specified as an RCurve object

assess

Positive number for the assessment time at which administrative censoring will be performed.

fix_events

Positive integer for the number of events to fix (if required), letting the assessment time vary. Alternatively, NULL for fixed time assessment with variable event numbers. Notes: Fixing event numbers overrides any specified assessment time and slows simulation considerably. Default = NULL (fixed analysis time)

iterations

Number of simulations to perform. Depending on trial size, 10,000-20,000 is typically OK to analyse on 8GB RAM.

seed

Seed number to use. Numerical, although if "Rand" is specified, a system-time-derived number will be used.

detailed_output

Boolean to require full details of timings of competing processes. If FALSE, the simplified data only includes the *'ed output columns - this approximately halves RAM requirements. Default=FALSE (simplified).

output_type

"matrix" or "list" specifying the type of output required. "matrix" requests a single matrix with a column "iter" to denote the simulation, while "list" creates a list with one entry per simulation. Default="matrix".

Value

Returns a table with one row per patient per simulation. Table contains the following columns:

Author(s)

James Bell

Examples

1
2
example_sim <- simulate_trials(active_ecurve=Weibull(250,0.8),control_ecurve=Weibull(100,1),
rcurve=LinearR(12,100,100), assess=20, iterations=5,seed=12345)

Example output



gestate documentation built on Feb. 20, 2020, 5:08 p.m.