Compute the predictive probability of trial success given current data.
Success means that at the end of the trial the posterior probability is
Pr(P_E > p) >= thetaT
,
where p
is the fixed response rate threshold and P_E
is the response rate in the
treatment group or E
group.
Then the predictive probability for success is:
pp = sum over i: Pr(Y=i|x,n)*I{Pr(P_E > p|x,Y=i)>=thetaT}
where Y
is the number of future responses in the treatment group and x
is
the current number of responses in the treatment group out of n.
The prior for the response rate in the experimental arm is P_E ~ beta(a, b)
.
A table with the following contents will be included in the return output :
counts
:Y = i
, number of future successes inNmax-n
subjects.density
:Pr(Y = i|x)
using beta-(mixture)-binomial distribution.posterior
:Pr(P_E > p | x, Y=i)
using beta posterior.success
: indicatorI(b > thetaT)
.
Usage
predprob(x, n, Nmax, p, thetaT, parE = c(1, 1), weights)
Arguments
- x
(
number
):
number of successes.- n
(
number
):
number of patients.- Nmax
(
number
):
maximum number of patients at the end of the trial in theE
group.- p
(
number
):
threshold on the response rate.- thetaT
(
number
):
threshold on the probability to be above p.- parE
(
numeric
):
the beta parameters matrix, with K rows and 2 columns, corresponding to the beta parameters of the K components.- weights
(
numeric
):
the mixture weights of the beta mixture prior.
Value
A list
is returned with names result
for predictive probability and
table
of numeric values with counts of responses in the remaining patients,
probabilities of these counts, corresponding probabilities to be above threshold,
and trial success indicators.
References
Lee, J. J., & Liu, D. D. (2008). A predictive probability design for phase II cancer clinical trials. Clinical Trials, 5(2), 93-106. doi:10.1177/1740774508089279
Examples
# The original Lee and Liu (Table 1) example:
# Nmax = 40, x = 16, n = 23, beta(0.6,0.4) prior distribution,
# thetaT = 0.9. The control response rate is 60%:
predprob(
x = 16,
n = 23,
Nmax = 40,
p = 0.6,
thetaT = 0.9,
parE = c(0.6, 0.4)
)
#> $result
#> [1] 0.5655589
#>
#> $table
#> counts cumul_counts density posterior success
#> 1 0 23 0.0000 0.005858397 FALSE
#> 2 1 24 0.0000 0.013782046 FALSE
#> 3 2 25 0.0001 0.029584325 FALSE
#> 4 3 26 0.0006 0.058130376 FALSE
#> 5 4 27 0.0021 0.104881818 FALSE
#> 6 5 28 0.0058 0.174328134 FALSE
#> 7 6 29 0.0135 0.267887754 FALSE
#> 8 7 30 0.0276 0.382146405 FALSE
#> 9 8 31 0.0497 0.508508727 FALSE
#> 10 9 32 0.0794 0.634871049 FALSE
#> 11 10 33 0.1129 0.748893301 FALSE
#> 12 11 34 0.1426 0.841482798 FALSE
#> 13 12 35 0.1587 0.908912106 TRUE
#> 14 13 36 0.1532 0.952764733 TRUE
#> 15 14 37 0.1246 0.978098514 TRUE
#> 16 15 38 0.0811 0.991013775 TRUE
#> 17 16 39 0.0381 0.996776597 TRUE
#> 18 17 40 0.0099 0.999003945 TRUE
#>
# Lowering/Increasing the probability threshold thetaT of course increases
# /decreases the predictive probability of success, respectively:
predprob(
x = 16,
n = 23,
Nmax = 40,
p = 0.6,
thetaT = 0.8,
parE = c(0.6, 0.4)
)
#> $result
#> [1] 0.7081907
#>
#> $table
#> counts cumul_counts density posterior success
#> 1 0 23 0.0000 0.005858397 FALSE
#> 2 1 24 0.0000 0.013782046 FALSE
#> 3 2 25 0.0001 0.029584325 FALSE
#> 4 3 26 0.0006 0.058130376 FALSE
#> 5 4 27 0.0021 0.104881818 FALSE
#> 6 5 28 0.0058 0.174328134 FALSE
#> 7 6 29 0.0135 0.267887754 FALSE
#> 8 7 30 0.0276 0.382146405 FALSE
#> 9 8 31 0.0497 0.508508727 FALSE
#> 10 9 32 0.0794 0.634871049 FALSE
#> 11 10 33 0.1129 0.748893301 FALSE
#> 12 11 34 0.1426 0.841482798 TRUE
#> 13 12 35 0.1587 0.908912106 TRUE
#> 14 13 36 0.1532 0.952764733 TRUE
#> 15 14 37 0.1246 0.978098514 TRUE
#> 16 15 38 0.0811 0.991013775 TRUE
#> 17 16 39 0.0381 0.996776597 TRUE
#> 18 17 40 0.0099 0.999003945 TRUE
#>
predprob(
x = 16,
n = 23,
Nmax = 40,
p = 0.6,
thetaT = 0.95,
parE = c(0.6, 0.4)
)
#> $result
#> [1] 0.4068235
#>
#> $table
#> counts cumul_counts density posterior success
#> 1 0 23 0.0000 0.005858397 FALSE
#> 2 1 24 0.0000 0.013782046 FALSE
#> 3 2 25 0.0001 0.029584325 FALSE
#> 4 3 26 0.0006 0.058130376 FALSE
#> 5 4 27 0.0021 0.104881818 FALSE
#> 6 5 28 0.0058 0.174328134 FALSE
#> 7 6 29 0.0135 0.267887754 FALSE
#> 8 7 30 0.0276 0.382146405 FALSE
#> 9 8 31 0.0497 0.508508727 FALSE
#> 10 9 32 0.0794 0.634871049 FALSE
#> 11 10 33 0.1129 0.748893301 FALSE
#> 12 11 34 0.1426 0.841482798 FALSE
#> 13 12 35 0.1587 0.908912106 FALSE
#> 14 13 36 0.1532 0.952764733 TRUE
#> 15 14 37 0.1246 0.978098514 TRUE
#> 16 15 38 0.0811 0.991013775 TRUE
#> 17 16 39 0.0381 0.996776597 TRUE
#> 18 17 40 0.0099 0.999003945 TRUE
#>
# Mixed beta prior
predprob(
x = 20,
n = 23,
Nmax = 40,
p = 0.6,
thetaT = 0.9,
parE = rbind(c(1, 1), c(25, 15)),
weights = c(0.5, 0.5)
)
#> $result
#> [1] 0.9798706
#>
#> $table
#> counts cumul_counts density posterior success
#> 1 0 23 0.0000 0.1974657 FALSE
#> 2 1 24 0.0000 0.2792016 FALSE
#> 3 2 25 0.0000 0.3722350 FALSE
#> 4 3 26 0.0000 0.4717145 FALSE
#> 5 4 27 0.0001 0.5719641 FALSE
#> 6 5 28 0.0005 0.6673184 FALSE
#> 7 6 29 0.0018 0.7529531 FALSE
#> 8 7 30 0.0051 0.8255226 FALSE
#> 9 8 31 0.0126 0.8834655 FALSE
#> 10 9 32 0.0269 0.9269396 TRUE
#> 11 10 33 0.0497 0.9574528 TRUE
#> 12 11 34 0.0808 0.9773330 TRUE
#> 13 12 35 0.1161 0.9891959 TRUE
#> 14 13 36 0.1489 0.9955330 TRUE
#> 15 14 37 0.1710 0.9984587 TRUE
#> 16 15 38 0.1724 0.9995738 TRUE
#> 17 16 39 0.1411 0.9999089 TRUE
#> 18 17 40 0.0730 0.9999854 TRUE
#>