optimal_bias_binary {drugdevelopR} | R Documentation |
Optimal phase II/III drug development planning when discounting phase II results with binary endpoint
Description
The function optimal_bias_binary
of the drugdevelopR package enables planning of phase II/III drug development programs with optimal sample size allocation and go/no-go decision rules including methods for discounting of phase II results for binary endpoints (Preussler et. al, 2020).
The discounting may be necessary as programs that proceed to phase III can be overoptimistic about the treatment effect (i.e. they are biased).
The assumed true treatment effects can be assumed fixed or modelled by a prior distribution.
The R Shiny application prior visualizes the prior distributions used in this package.
Fast computing is enabled by parallel programming.
Usage
optimal_bias_binary(
w,
p0,
p11,
p12,
in1,
in2,
n2min,
n2max,
stepn2,
rrgomin,
rrgomax,
steprrgo,
adj = "both",
lambdamin = NULL,
lambdamax = NULL,
steplambda = NULL,
alphaCImin = NULL,
alphaCImax = NULL,
stepalphaCI = NULL,
alpha,
beta,
c2,
c3,
c02,
c03,
K = Inf,
N = Inf,
S = -Inf,
steps1 = 1,
stepm1 = 0.95,
stepl1 = 0.85,
b1,
b2,
b3,
fixed = FALSE,
num_cl = 1
)
Arguments
w |
weight for mixture prior distribution |
p0 |
assumed true rate of control group, see here for details |
p11 |
assumed true rate of treatment group, see here for details |
p12 |
assumed true rate of treatment group, see here for details |
in1 |
amount of information for |
in2 |
amount of information for |
n2min |
minimal total sample size for phase II; must be an even number |
n2max |
maximal total sample size for phase II, must be an even number |
stepn2 |
step size for the optimization over n2; must be an even number |
rrgomin |
minimal threshold value for the go/no-go decision rule |
rrgomax |
maximal threshold value for the go/no-go decision rule |
steprrgo |
step size for the optimization over RRgo |
adj |
choose type of adjustment: |
lambdamin |
minimal multiplicative adjustment parameter lambda (i.e. use estimate with a retention factor) |
lambdamax |
maximal multiplicative adjustment parameter lambda (i.e. use estimate with a retention factor) |
steplambda |
stepsize for the adjustment parameter lambda |
alphaCImin |
minimal additive adjustment parameter alphaCI (i.e. adjust the lower bound of the one-sided confidence interval) |
alphaCImax |
maximal additive adjustment parameter alphaCI (i.e. adjust the lower bound of the one-sided confidence interval) |
stepalphaCI |
stepsize for alphaCI |
alpha |
one-sided significance level |
beta |
type II error rate; i.e. |
c2 |
variable per-patient cost for phase II in 10^5 $ |
c3 |
variable per-patient cost for phase III in 10^5 $ |
c02 |
fixed cost for phase II in 10^5 $ |
c03 |
fixed cost for phase III in 10^5 $ |
K |
constraint on the costs of the program, default: Inf, e.g. no constraint |
N |
constraint on the total expected sample size of the program, default: Inf, e.g. no constraint |
S |
constraint on the expected probability of a successful program, default: -Inf, e.g. no constraint |
steps1 |
lower boundary for effect size category "small" in RR scale, default: 1 |
stepm1 |
lower boundary for effect size category "medium" in RR scale = upper boundary for effect size category "small" in RR scale, default: 0.95 |
stepl1 |
lower boundary for effect size category "large" in RR scale = upper boundary for effect size category "medium" in RR scale, default: 0.85 |
b1 |
expected gain for effect size category "small" |
b2 |
expected gain for effect size category "medium" |
b3 |
expected gain for effect size category "large" |
fixed |
choose if true treatment effects are fixed or random, if TRUE p11 is used as fixed effect for p1 |
num_cl |
number of clusters used for parallel computing, default: 1 |
Value
The output of the function is a data.frame
object containing the optimization results:
- Method
Type of adjustment: "multipl." (multiplicative adjustment of effect size), "add." (additive adjustment of effect size), "multipl2." (multiplicative adjustment of effect size and threshold), "add2." (additive adjustment of effect size and threshold)
- Adj
optimal adjustment parameter (lambda or alphaCI according to Method)
- u
maximal expected utility under the optimization constraints, i.e. the expected utility of the optimal sample size and threshold value
- RRgo
optimal threshold value for the decision rule to go to phase III
- n2
total sample size for phase II; rounded to the next even natural number
- n3
total sample size for phase III; rounded to the next even natural number
- n
total sample size in the program; n = n2 + n3
- K
maximal costs of the program (i.e. the cost constraint, if it is set or the sum K2+K3 if no cost constraint is set)
- pgo
probability to go to phase III
- sProg
probability of a successful program
- sProg1
probability of a successful program with "small" treatment effect in phase III
- sProg2
probability of a successful program with "medium" treatment effect in phase III
- sProg3
probability of a successful program with "large" treatment effect in phase III
- K2
expected costs for phase II
- K3
expected costs for phase III
and further input parameters. Taking cat(comment())
of the
data frame lists the used optimization sequences, start and
finish date of the optimization procedure.
References
IQWiG (2016). Allgemeine Methoden. Version 5.0, 10.07.2016, Technical Report. Available at https://www.iqwig.de/ueber-uns/methoden/methodenpapier/, assessed last 15.05.19.
Examples
# Activate progress bar (optional)
## Not run: progressr::handlers(global = TRUE)
# Optimize
optimal_bias_binary(w = 0.3, # define parameters for prior
p0 = 0.6, p11 = 0.3, p12 = 0.5,
in1 = 30, in2 = 60, # (https://web.imbi.uni-heidelberg.de/prior/)
n2min = 20, n2max = 100, stepn2 = 10, # define optimization set for n2
rrgomin = 0.7, rrgomax = 0.9, steprrgo = 0.05, # define optimization set for RRgo
adj = "both", # choose type of adjustment
alpha = 0.025, beta = 0.1, # drug development planning parameters
lambdamin = 0.2, lambdamax = 1, steplambda = 0.05, # define optimization set for lambda
alphaCImin = 0.025, alphaCImax = 0.5,
stepalphaCI = 0.025, # define optimization set for alphaCI
c2 = 0.75, c3 = 1, c02 = 100, c03 = 150, # fixed and variable costs for phase II/III
K = Inf, N = Inf, S = -Inf, # set constraints
steps1 = 1, # define lower boundary for "small"
stepm1 = 0.95, # "medium"
stepl1 = 0.85, # and "large" effect size categories
b1 = 1000, b2 = 2000, b3 = 3000, # define expected benefits
fixed = TRUE, # true treatment effects are fixed/random
num_cl = 1) # number of cores for parallelized computing