optimal_multiarm_binary {drugdevelopR} | R Documentation |
Optimal phase II/III drug development planning for multi-arm programs with binary endpoint
Description
The optimal_multiarm_binary
function enables planning of
multi-arm phase II/III drug
development programs with optimal sample size allocation and go/no-go
decision rules. For binary endpoints the treatment effect is measured by the
risk ratio (RR). So far, only three-arm trials with two treatments and one
control are supported. 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_multiarm_binary(
p0,
p11,
p12,
n2min,
n2max,
stepn2,
rrgomin,
rrgomax,
steprrgo,
alpha,
beta,
c2,
c3,
c02,
c03,
K = Inf,
N = Inf,
S = -Inf,
steps1 = 1,
stepm1 = 0.95,
stepl1 = 0.85,
b1,
b2,
b3,
strategy,
num_cl = 1
)
Arguments
p0 |
assumed true rate of the control group |
p11 |
assumed true rate of the treatment arm 1 |
p12 |
assumed true rate of treatment arm 2 |
n2min |
minimal total sample size in phase II, must be divisible by 3 |
n2max |
maximal total sample size in phase II, must be divisible by 3 |
stepn2 |
stepsize for the optimization over n2, must be divisible by 3 |
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 |
alpha |
one-sided significance level/family-wise error rate |
beta |
type-II error rate for any pair, i.e. |
c2 |
variable per-patient cost for phase II |
c3 |
variable per-patient cost for phase III |
c02 |
fixed cost for phase II |
c03 |
fixed cost for phase III |
K |
constraint on the costs of the program, default: |
N |
constraint on the total expected sample size of the program, default: |
S |
constraint on the expected probability of a successful program, default: |
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" |
strategy |
choose strategy: 1 (only the best promising candidate), 2 (all promising candidates) or 3 (both strategies) |
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:
- Strategy
Strategy, 1: "only best promising" or 2: "all promising"
- 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
- sProg2
probability of a successful program with two arms in phase III
- sProg3
probability of a successful program with three arms 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_multiarm_binary( p0 = 0.6,
p11 = 0.3, p12 = 0.5,
n2min = 20, n2max = 100, stepn2 = 4, # define optimization set for n2
rrgomin = 0.7, rrgomax = 0.9, steprrgo = 0.05, # define optimization set for RRgo
alpha = 0.025, beta = 0.1, # drug development planning parameters
c2 = 0.75, c3 = 1, c02 = 100, c03 = 150, # fixed/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
strategy = 1, num_cl = 1) # number of cores for parallelized computing