Learn R Programming

sp23design (version 0.9-1)

executeSP23Design: Given a design object, interim data and the current calendar time, conduct the interim analysis for the time

Description

This function is designed to be used in the field. Assuming a particular design is chosen, it conducts the interim analysis for a specific calendar time and provides the means for deciding whether to stop for futility or efficacy.

Usage

executeSP23Design(sp23DesignObject, data, currentCalendarTime)

Arguments

sp23DesignObject

A seamless phase II-III design object, typically one produced by the generateSP23Design function

data

The interim data, something akin to that produced by the function generateInterimData

currentCalendarTime

The current calendar time of the interim data. This better be one of the specified interim looks, or the function stops.

Value

A vector of quantities is returned.

m0

number on control arm

m1

number on treatment arm

y0

number of responses in control

y1

number of responses in treatment

pi0Hat

estimate of the proportion of responders among control

pi1Hat

estimate of the proportion of responders among treatment

pi0HatH0

estimate of the proportion of responders among control under \(H_0\)

pi1HatH0

estimate of the proportion of responders among control under \(H_0\)

pi0HatH1

estimate of the proportion of responders among control under \(H_1\)

pi1HatH1

estimate of the proportion of responders among control under \(H_1\)

glrRespH0

estimate of the generalized likelihood ratio statistic for response under \(H_0\)

glrRespH1

estimate of the generalized likelihood ratio statistic for response under \(H_1\)

glrSurvH0

estimate of the generalized likelihood ratio statistic for survival under \(H_0\)

glrSurvH1

estimate of the generalized likelihood ratio statistic for survival under \(H_1\)

alphaHat

the estimate of \(\alpha\)

alphaHatH0

the estimate of \(\alpha\) under \(H_0\)

alphaHatH1

the estimate of \(\alpha\) under \(H_1\)

betaHat

the estimate of \(\beta\)

betaHatH0

the estimate of \(\beta\) under \(H_0\)

betaHatH1

the estimate of \(\beta\) under \(H_1\)

gammaHat

the estimate of \(\gamma\)

gammaHatH0

the estimate of \(\gamma\) under \(H_0\)

gammaHatH1

the estimate of \(\gamma\) under \(H_1\)

hazard

the estimate of \(d\)

v

the estimate of \(\Gamma_t\)

rejectH0R

a flag indicating if $H_0^R$ was rejected at the interim look

acceptH0R

a flag indicating if $H_0^R$ was accepted (futility) at the interim look

rejectH0S

a flag indicating if $H_0^S$ was rejected at the interim look

acceptH0S

a flag indicating if $H_0^S$ was accepted (futility) at the interim look

b.metas.Last

the last Haybittle-Peto boundary for the survival end-point, if computed

Details

This function is designed to be used in the field, although there are parts of it that are currently problematic. For example, in the field, there is typically no inkling of a responder or non-responder and yet the function as it currently stands is too wedded to the simulation scenario. Not hard to fix though.

References

Lai, Tze Leung and Lavori, Philip W. and Shih, Mei-Chiung. Sequential Design of Phase II-III Cancer Trials, Statistics in Medicine, Volume 31, issue 18, p.1944-1960, 2012.

Examples

Run this code
# NOT RUN {
  trialParameters <- list(minimumNumberOfEvents = 20,
                              minimumIncreaseInV = 0.2,
                              numberRecruitedEachYear = c(80, 120, 160, 160),
                              followupTime = 3,
                              adminCensoringTime = 7,
                              interimLookTime = c(1, 2, 3, 5, 7),
                              type1ErrorForResponse = 0.05,
                              type2ErrorForResponse = 0.01,
                              glrBoundarySidedness = "one", # one sided or two-sided
                              type1Error = 0.05,
                              type2Error = 0.10,
                              epsType1 = 1/3,
                              epsType2 = 1/3)

  trueParameters <- list(p0 = 0.3,
                             p1 = 0.3,
                             pdiffHyp=0.3,
                             theta = list(
                                     alpha = 0,
                                     beta = 0,
                                     gamma = 0),
                             baselineLambda = 0.35,
                             etaHyp = 0.25)
  rngSeed <- 9872831

  sp23Design <- generateSP23Design(trueParameters, trialParameters)
  d <- generateClinicalTrialData(nRec = trialParameters$numberRecruitedEachYear,
                                 nFUp = trialParameters$followupTime,
                                 pi0 = trueParameters$p0,
                                 pi1 = trueParameters$p1,
                                 theta = trueParameters$theta,
                                 lambda0 = trueParameters$baselineLambda)
  result <- executeSP23Design(sp23Design, d, trialParameters$interimLookTime[2])
# }

Run the code above in your browser using DataLab