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(3, 1)
)
#> $result
#> [1] 0.9874431
#>
#> $table
#> counts cumul_counts density posterior success
#> 1 0 23 0.0000 0.1560061 FALSE
#> 2 1 24 0.0000 0.2352310 FALSE
#> 3 2 25 0.0000 0.3303366 FALSE
#> 4 3 26 0.0000 0.4359140 FALSE
#> 5 4 27 0.0001 0.5449206 FALSE
#> 6 5 28 0.0003 0.6499804 FALSE
#> 7 6 29 0.0011 0.7446568 FALSE
#> 8 7 30 0.0031 0.8244101 FALSE
#> 9 8 31 0.0080 0.8870640 FALSE
#> 10 9 32 0.0177 0.9327462 TRUE
#> 11 10 33 0.0348 0.9634096 TRUE
#> 12 11 34 0.0613 0.9821219 TRUE
#> 13 12 35 0.0973 0.9923193 TRUE
#> 14 13 36 0.1394 0.9971675 TRUE
#> 15 14 37 0.1783 0.9991255 TRUE
#> 16 15 38 0.1964 0.9997794 TRUE
#> 17 16 39 0.1708 0.9999557 TRUE
#> 18 17 40 0.0913 0.9999932 TRUE
#>