tests/t22-survModel.R

library(Umpire)
# set seed to ensure reproducibility
set.seed(63582)

sm <- SurvivalModel(baseHazard = 1/5, # default 1/5 inverse years
                    accrual = 5,      # default 5 years
                    followUp = 1,     # default 1 years
                    units = 12, unitName = "months")

sdata <- rand(sm, 100)
class(sdata) == "data.frame"
all( dim(sdata) == c(100, 2) )
summary(sdata) # median raw survival == 29 months, 44 events out of 100 patients
if(require(survival)) {
  model <- survfit(Surv(LFU, Event) ~ 1, sdata)
  print(model)
  plot(model)
}

sm <- SurvivalModel(1/2, 5, 2, 12, "months")
sdata <- rand(sm, 100)
class(sdata) == "data.frame"
all( dim(sdata) == c(100, 2) )
summary(sdata) # median raw survival == 29 months, 44 events out of 100 patients
if(require(survival)) {
  model <- survfit(Surv(LFU, Event) ~ 1, sdata)
  print(model)
  plot(model)
}

## Now test how SurvivalModel works in the CancerModel
## return to defaults
sm <- SurvivalModel(baseHazard = 1/5, # default 1/5 inverse years
                    accrual = 5,      # default 5 years
                    followUp = 1,     # default 1 years
                    units = 12, unitName = "months")
R <- rand(sm, 200)
summary(R)

cm <- CancerModel("survtester", nPossible=20, nPattern=2,
                  SURV = function(n) rnorm(n, 0, 0.3),
                  survivalModel = sm)
S <- rand(cm, 200)
summary(S)
attach(S)
table(CancerSubType, Outcome)
detach()
if(require(survival)) {
  model <- survfit(Surv(LFU, Event) ~ CancerSubType, S)
  print(model)
  plot(model, col=2:3)
}

## Now test how SurvivalModel works in the ClinicalEngine

ce <- ClinicalEngine(20, 4, TRUE, survivalModel = sm)
summary(ce)
X <-  rand(ce, 200)
summary(X$clinical)

Try the Umpire package in your browser

Any scripts or data that you put into this service are public.

Umpire documentation built on Nov. 11, 2020, 1:08 a.m.