performInterimLook: Perform an interim look in a seamless Phase II-III clinical...

View source: R/sp23design.R

performInterimLookR Documentation

Perform an interim look in a seamless Phase II-III clinical trial

Description

Perform an interim look in a seamless Phase II-III clinical trial

Usage

performInterimLook(k, trueParameters, trialParameters, glrBoundary,
                   interimData, interimLookHistoryDF, argRejectH0R)

Arguments

k

the index of the look

trueParameters

the true parameters, usually available in an object generated by generateSP23Design

trialParameters

the trial parameters, usually available in an object generated by generateSP23Design

glrBoundary

the generalized likelihood ratio boundaries, usually available in an object produced by generateSP23Design

interimData

the interim data

interimLookHistoryDF

the interim look history data frame matrix described in exploreSP23Design

argRejectH0R

A flag that indicates whether H_0^R has been rejected in the previous look; A value of FALSE is used for first look.

Details

Perform an interim look in a seamless Phase II-III clinical trial

Value

a vector of named values described in exploreSP23Design, essentially providing a new row to the interim look history data frame

Author(s)

Mei-Chiung Shih, Balasubramanian Narasimhan, Pei He

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

  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)
  dInterim <- generateInterimData(d, trialParameters$interimLookTime[1],
                                      trialParameters$adminCensoringTime)
  dInterim <- dInterim[order(dInterim$timeToEvent), ]
  ## This is a tricky function to use for all but the first interim look;
  ## see executeSP23Design code for details! Reason: interim look k depends
  ## on results of interim look k-1
  ##
  performInterimLook(1, sp23Design$trueParameters, trialParameters, sp23Design$glrBoundary,
                     dInterim, sp23Design$interimLookHistoryDF,
                     argRejectH0R = FALSE)


sp23design documentation built on April 19, 2022, 5:08 p.m.