Simulation for binomial counts for Bayesian adaptive trials with different inputs to control for power, sample size, type 1 error rate, etc.
binomialBACT( p_treatment, p_control = NULL, y0_treatment = NULL, N0_treatment = NULL, y0_control = NULL, N0_control = NULL, N_total, lambda = 0.3, lambda_time = NULL, interim_look = NULL, EndofStudy, prior = c(1, 1), block = 2, rand_ratio = c(1, 1), prop_loss_to_followup = 0.1, alternative = "greater", h0 = 0, futility_prob = 0.05, expected_success_prob = 0.9, prob_ha = 0.95, N_impute = 10, number_mcmc = 10000, discount_function = "identity", alpha_max = 1, fix_alpha = FALSE, weibull_scale = 0.135, weibull_shape = 3, method = "fixed" )
p_treatment | scalar. Proportion of events under the treatment arm. |
---|---|
p_control | scalar. Proportion of events under the control arm. |
y0_treatment | scalar. Number of events for the historical treatment arm. |
N0_treatment | scalar. Sample size of the historical treatment arm. |
y0_control | scalar. Number of events for the historical control arm. |
N0_control | scalar. Sample size of the historical control arm. |
N_total | scalar. Total sample size. |
lambda | vector. Enrollment rates across simulated enrollment times. See
|
lambda_time | vector. Enrollment time(s) at which the enrollment rates
change. Must be same length as lambda. See |
interim_look | vector. Sample size for each interim look. Note: the maximum sample size should not be included. |
EndofStudy | scalar. Length of the study. |
prior | vector. Prior values of beta rate, Beta(a0, b0). The default is set to Beta(1, 1). |
block | scalar. Block size for generating the randomization schedule. |
rand_ratio | vector. Randomization allocation for the ratio of control
to treatment. Integer values mapping the size of the block. See
|
prop_loss_to_followup | scalar. Overall proportion of subjects lost to follow-up. |
alternative | character. The string specifying the alternative
hypothesis, must be one of |
h0 | scalar. Threshold for comparing two mean values. Default is
|
futility_prob | scalar. Probability of stopping early for futility. |
expected_success_prob | scalar. Probability of stopping early for success. |
prob_ha | scalar. Probability of alternative hypothesis. |
N_impute | scalar. Number of imputations for Monte Carlo simulation of missing data. |
number_mcmc | scalar. Number of Markov Chain Monte Carlo draws in sampling posterior. |
discount_function | character. If incorporating historical data, specify
the discount function. Currently supports the Weibull function
( |
alpha_max | scalar. Maximum weight the discount function can apply. Default is 1. For a two-arm trial, users may specify a vector of two values where the first value is used to weight the historical treatment group and the second value is used to weight the historical control group. |
fix_alpha | logical. Fix alpha at alpha_max? Default value is FALSE. |
weibull_scale | scalar. Scale parameter of the Weibull discount function
used to compute alpha, the weight parameter of the historical data. Default
value is 0.135. For a two-arm trial, users may specify a vector of two
values where the first value is used to estimate the weight of the
historical treatment group and the second value is used to estimate the
weight of the historical control group. Not used when
|
weibull_shape | scalar. Shape parameter of the Weibull discount function
used to compute alpha, the weight parameter of the historical data. Default
value is 3. For a two-arm trial, users may specify a vector of two values
where the first value is used to estimate the weight of the historical
treatment group and the second value is used to estimate the weight of the
historical control group. Not used when |
method | character. Analysis method with respect to estimation of the
weight parameter alpha. Default method |
A list of output for a single trial simulation:
p_treatment
scalar. The input parameter of proportion of events in the treatment group.
p_control
scalar. The input parameter of proportion of events in the control group.
prob_of_accepting_alternative
scalar. The input parameter of probability threshold of accepting the alternative.
margin
scalar. The margin input value of difference between mean estimate of treatment and mean estimate of the control.
alternative
character. The input parameter of alternative hypothesis.
interim_look
vector. The sample size for each interim look.
N_treatment
scalar. The number of patients enrolled in the experimental group for each simulation.
N_control
scalar. The number of patients enrolled in the control group for each simulation.
N_enrolled
vector. The number of patients enrolled in the trial (sum of control and experimental group for each simulation. )
N_complete
scalar. The number of patients who completed the trial and had no loss to follow-up.
post_prob_accept_alternative
vector. The final probability of accepting the alternative hypothesis after the analysis is done.
est_final
scalar. The final estimate of the difference in posterior estimate of treatment and posterior estimate of the control group.
stop_futility
scalar. Did the trial stop for futility during imputation of patient who had loss to follow up? 1 for yes and 0 for no.
stop_expected_success
scalar. Did the trial stop for early success during imputation of patient who had loss to follow up? 1 for yes and 0 for no.
est_interim
scalar. The interim estimate of the difference in posterior estimate of treatment and posterior estimate of the control group.