Skip to contents

This function is used to identify the efficacy boundary and futility boundary based on predictive probabilities, i.e.: Efficacy boundary: find minimum x (xU) where Pr(Pr(P > p | x, Y) >= tT | x) > phiU, Futility boundary: find maximum x (xL) where Pr(Pr(P > p | x, Y) >= tT | x) < phiL

Usage

boundsPredprob(nvec, Nmax = max(nvec), p, tT, phiL, phiU, a, b)

Arguments

nvec

a vector of number of patients

Nmax

maximum number of patients at the end of the trial (default: maximum of nvec)

p

threshold on the response rate

tT

threshold on the posterior probability to be above p

phiL

futility boundary predictive probability threshold

phiU

efficacy boundary predictive probability threshold

a

the alpha parameter of a beta prior of treatment group

b

the beta parameter of a beta prior of treatment group

Value

A matrix where for each sample size in nvec, this function returns the maximum number of responses that meet the futility threshold (xL), its corresponding response rate (pL), predictive probability (ppL) and posterior probability (postL), the upper bound of one sided 95% CI for the response rate based on an exact binomial test (UciL), and the same boundary parameters for efficacy: the minimal number of responses that meet the efficacy threshold (xU), the corresponding response rate (pU), predictive probability (ppL) and posterior probability (postU), the lower bound of one sided 95% CI for the response rate based on exact binomial test (LciU).

Examples

## 40 pts trial with interim looks after each 10 pts.,
## final efficacy decision if more than 80% probability to be above 20% ORR,
## final futility decision otherwise.
## Interim efficacy decision if more than 90% predictive probability reach this,
## interim futility decision if less than 10% predictive probability.
## Uniform prior (i.e. beta(1, 1)) on the ORR:
boundsPredprob(
  nvec = c(10, 20, 30, 40), p = 0.20, tT = 0.80,
  phiL = 0.10, phiU = 0.90, a = 1, b = 1
)
#>    nvec xL     pL    ppL  postL   UciL xU   pU    ppU  postU   LciU
#> 10   10  0 0.0000 0.0268 0.0859 0.2589  4 0.40 0.9287 0.9496 0.1500
#> 20   20  2 0.1000 0.0269 0.1787 0.2826  7 0.35 0.9600 0.9569 0.1773
#> 30   30  5 0.1667 0.0446 0.3931 0.3190  9 0.30 0.9604 0.9254 0.1663
#> 40   40  9 0.2250 0.0000 0.7040 0.3598 10 0.25 1.0000 0.8177 0.1424
## From this we see e.g. that at the first IA at 10 pts, we would stop for futility
## if no patient responded, and for efficacy if 4 or more pts responded.