example-combo2 {OncoBayes2} | R Documentation |
Two-drug combination example
Description
Example using a combination of two experimental drugs.
Details
The following example is described in the reference
Neuenschwander, B. et al (2016). The data are described
in the help page for codata_combo2
. In the study
trial_AB
, the risk of DLT was studied as a function of
dose for two drugs, drug A and drug B. Historical information
on the toxicity profiles of these two drugs was available from
single agent trials trial_A
and trial_B
. Another
study IIT
was run concurrently to trial_AB
, and
studies the same combination.
The model described in Neuenschwander, et al (2016) is adapted as follows.
For groups representing each of the four sources
of data mentioned above,
and
are logistic regressions for the single-agent toxicity of drugs A and B,
respectively, when administered in group . Conditional on the
regression parameters
and
,
the toxicity
for
the combination is modeled as the "no-interaction" DLT rate,
with a single interaction term added on the log odds scale,
A hierarchical model across the four groups allows
dose-toxicity information to be shared through common hyperparameters.
For the component parameters ,
For the mean, a further prior is specified as
while in the manuscript the prior and
for each
is
used, we deviate here and use instead
and
.
For the standard deviations and correlation parameters in the covariance matrix,
the specified priors are
,
,
and
for
.
For the interaction parameters in each group, the hierarchical
model has
for , with
and
Below is the syntax for specifying this fully exchangeable model in
blrm_exnex
.
References
Neuenschwander, B., Roychoudhury, S., & Schmidli, H. (2016). On the use of co-data in clinical trials. Statistics in Biopharmaceutical Research, 8(3), 345-354.
Examples
## Setting up dummy sampling for fast execution of example
## Please use 4 chains and 100x more warmup & iter in practice
.user_mc_options <- options(OncoBayes2.MC.warmup=10, OncoBayes2.MC.iter=20, OncoBayes2.MC.chains=1,
OncoBayes2.MC.save_warmup=FALSE)
dref <- c(6, 960)
num_comp <- 2 # two investigational drugs
num_inter <- 1 # one drug-drug interaction needs to be modeled
num_groups <- nlevels(codata_combo2$group_id) # no stratification needed
num_strata <- 1 # no stratification needed
blrmfit <- blrm_exnex(
cbind(num_toxicities, num_patients - num_toxicities) ~
1 + I(log(drug_A / dref[1])) |
1 + I(log(drug_B / dref[2])) |
0 + I(drug_A/dref[1] *drug_B/dref[2]) |
group_id,
data = codata_combo2,
prior_EX_mu_mean_comp = matrix(
c(logit(0.2), 0, # hyper-mean of (intercept, log-slope) for drug A
logit(0.2), 0), # hyper-mean of (intercept, log-slope) for drug B
nrow = num_comp,
ncol = 2,
byrow = TRUE
),
prior_EX_mu_sd_comp = matrix(
c(2.0, 1, # hyper-sd of mean mu for (intercept, log-slope) for drug A
2.0, 1), # hyper-sd of mean mu for (intercept, log-slope) for drug B
nrow = num_comp,
ncol = 2,
byrow = TRUE
),
prior_EX_tau_mean_comp = matrix(
c(log(0.25), log(0.125),
log(0.25), log(0.125)),
nrow = num_comp,
ncol = 2,
byrow = TRUE
),
prior_EX_tau_sd_comp = matrix(
c(log(4) / 1.96, log(4) / 1.96,
log(4) / 1.96, log(4) / 1.96),
nrow = num_comp,
ncol = 2,
byrow = TRUE
),
prior_EX_mu_mean_inter = 0,
prior_EX_mu_sd_inter = 1.121,
prior_EX_tau_mean_inter = matrix(log(0.125), nrow = num_strata, ncol = num_inter),
prior_EX_tau_sd_inter = matrix(log(4) / 1.96, nrow = num_strata, ncol = num_inter),
prior_is_EXNEX_comp = rep(FALSE, num_comp),
prior_is_EXNEX_inter = rep(FALSE, num_inter),
prior_EX_prob_comp = matrix(1, nrow = num_groups, ncol = num_comp),
prior_EX_prob_inter = matrix(1, nrow = num_groups, ncol = num_inter),
prior_tau_dist = 1
)
## Recover user set sampling defaults
options(.user_mc_options)