CancerModel-class {Umpire} | R Documentation |
The "CancerModel" Class
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
CancerModel(name,
nPossible,
nPattern,
HIT = function(n) 5,
SURV = function(n) rnorm(n, 0, 0.3),
OUT = function(n) rnorm(n, 0, 0.3),
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 |
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 |
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, balance
, to the signature specified by the
default method. If balance = FALSE
(the default), then
patients are simulated based on the prevalence
defined as part
of the model. If balance = 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"
containing 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,
References
Zhang J, Coombes KR.
Sources of variation in false discovery rate estimation include
sample size, correlation, and inherent differences between groups.
BMC Bioinformatics. 2012; 13 Suppl 13:S1.
See Also
Examples
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)