The "CancerModel" Class

Share:

Description

A CancerModel object contains a number of pieces of information representing an abstract, heterogeneous collection of cancer patients. It can be used to simulate patient outcome data linked to hit classes.

Usage

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
CancerModel(name,
            nPossible,
            nPattern,
            HIT = function(n) 5,
            SURV = function(n) rnorm(n, 0, 2),
            OUT = function(n) rnorm(n, 0, 2),
            survivalModel=NULL,
            prevalence=NULL)
nPatterns(object)
nPossibleHits(object)
nHitsPerPattern(object)
outcomeCoefficients(object)
survivalCoefficients(object)
## S4 method for signature 'CancerModel'
ncol(x)
## S4 method for signature 'CancerModel'
nrow(x)
## S4 method for signature 'CancerModel'
rand(object, n, balance=FALSE, ...)
## S4 method for signature 'CancerModel'
summary(object, ...)

Arguments

name

character string specifying name given to this model

object, x

object of class CancerModel

nPossible

integer scalar specifying number of potential hits relevant to the kind of cancer being modeled

nPattern

integer scalar specifying number of different cancer subtypes

HIT

function that generates non-negative integers from a discrete distribution. Used to determine the number of hits actually present in each cancer subtype.

SURV

function that generates real numbers from a continuous distributions. Used in simulations to select the coefficients associated with each hit in Cox proportional hazards models.

OUT

function that generates real numbers from a continuous distributions. Used in simulations to select the coefficients associated with each hit in logistic models of a binary outcome.

survivalModel

object of class SurvivalModel used to simulate survival times for each simulated patient

prevalence

optional numeric vector of relative prevalences of cancer subtypes

n

numeric scalar specifying quantity of random numbers

balance

logical scalar specifying how patients should be simulated

...

extra arguments for generic routines

Details

The rand method is the most important method for objects of this class. It returns a data frame with four columns: the CancerSubType (as an integer that indexes into the hitPattern slot of the object), a binary Outcome that takes on values "Bad" or "Good", an LFU column with censored survival times, and a logical Event column that describes whether the simulated survival event has occurred.

The rand method for the CancerModel class adds an extra logical parameter, balanced, to the signature specified by the default method. If balanced=FALSE (the default), then patients are simulated based on the prevalence defined as apart of the model. If balanced=TRUE, then patients are simulated with equal numbers in each hit pattern class, ordered by the hit pattern class.

Value

The CancerModel function is used to contruct and return an object of the CancerModel class.

The ncol and nrow functions return integers with the size of the matrix of hit patterns.

The rand method returns data frame with four columns:

CancerSubType integer index into object's 'hitPattern' slot
Outcome outcomes with values "Bad" or "Good"
LFU censored survival times
Event has simulated survival event has occurred?

Objects from the Class

Although objects of the class can be created by a direct call to new, the preferred method is to use the CancerModel generator function.

Slots

name:

Object of class "character"

hitPattern:

Object of class "matrix"

survivalBeta:

Object of class "numeric" containing the coeffieicents associated with each hit in a Cox proportional hazards model of survival.

outcomeBeta:

Object of class "numeric" contaning the coefficients associated with each hit in a logistic model to predict a binary outcome.

prevalence:

Object of class "numeric" containing the prevalence of each cancer subtype.

survivalModel:

Object of class "survivalModel" containing parameters used to simualte survival times.

call:

object of class "call" recording the function call used to initialize the object.

Methods

ncol

signature(x = "CancerModel"): ...

nrow

signature(x = "CancerModel"): ...

rand

signature(object = "CancerModel"): ...

summary

signature(object = "CancerModel"): ...

Author(s)

Kevin R. Coombes krc@silicovore.com, P. Roebuck proebuck@mdanderson.org

References

OOMPA

See Also

SurvivalModel

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
showClass("CancerModel")
set.seed(391629)
# set up survival outcome; baseline is exponential
sm <- SurvivalModel(baseHazard=1/5, accrual=5, followUp=1)
# now build a CancerModel with 6 subtypes
cm <- CancerModel(name="cansim",
                  nPossible=20,
                  nPattern=6,
                  OUT = function(n) rnorm(n, 0, 1), 
                  SURV= function(n) rnorm(n, 0, 1),
                  survivalModel=sm)
# simulate 100 patients
clinical <- rand(cm, 100)
summary(clinical)