Get data to run the BEBOP model in the PePS2 trial. The trial investigates pembrolizumab in non-small-cell lung cancer. Patients may be previously treated (PT) or treatment naive (TN). Pembro response rates in lung cancer have been shown to increase with PD-L1 tumour proportion score. PD-L1 score is measured at baseline. Each patient belongs to one of the Low, Medium or High categories. These two baseline variables stratify the patient population and are used as predictive variables to stratify the analysis. The BEBOP model studies co-primary efficacy and toxicity outcomes in the presence of predictive data. Thus, PePS2 studies efficacy and toxicity in 6 distinct cohorts: TN Low, TN Medium, TN High, PT Low, PT Medium, PT High. The design admits all-comers and does not target specific sample sizes in the individual cohorts. Hyperprior parameters have defaults to match those used in PePS2, but all may be overridden. The returned object includes randomly-sampled outcomes, as well as parameters to run the model. These are all combined in the same list object for passing to RStan, as is the convention. See the accompanying vignette for a full description.
peps2_get_data( num_patients, cohort_probs = NULL, prob_eff, prob_tox, eff_tox_or, cohort_rho = c(15.7, 21.8, 12.4, 20.7, 18, 11.4), alpha_mean = -2.2, alpha_sd = 2, beta_mean = -0.5, beta_sd = 2, gamma_mean = -0.5, gamma_sd = 2, zeta_mean = -0.5, zeta_sd = 2, lambda_mean = -2.2, lambda_sd = 2, psi_mean = 0, psi_sd = 1 )
num_patients | Total number of patients to use, positive integer. |
---|---|
cohort_probs | Probabilities that a patient belongs to each of the 6
cohorts, in the order given above; a vector of numbers between 0 and 1 that
add up to 1. |
prob_eff | Probabilities of efficacy in each of the 6 cohorts, in the order given above; a vector of numbers between 0 and 1 |
prob_tox | Probabilities of toxicity in each of the 6 cohorts, in the order given above; a vector of numbers between 0 and 1 |
eff_tox_or | Measure of strength of association between efficacy and toxicity, in each of the 6 cohorts, in the order given above; a vector of numbers. Use 1 for no association; numbers increasingly greater than 1 for stronger positive associations, and numbers less than 1 for stronger negative associations |
cohort_rho | Concentration parameters for cohort membership, in the
order given above, using a Dirichlet distribution. This leads to randomly-
sampled cohort sizes distributed Dir(cohort_rho). |
alpha_mean | The prior mean of alpha. Alpha is the efficacy model intercept. |
alpha_sd | The prior standard deviation of alpha. Alpha is the efficacy model intercept. |
beta_mean | The prior mean of beta. Beta is the efficacy model term for being previously treated. |
beta_sd | The prior standard deviation of beta. Beta is the efficacy model term for being previously treated. |
gamma_mean | The prior mean of gamma. Gamma is the efficacy model term for being PD-L1 score = Low. |
gamma_sd | The prior standard deviation of gamma. Gamma is the efficacy model term for being PD-L1 score = Low. |
zeta_mean | The prior mean of zeta. Zeta is the efficacy model term for being PD-L1 score = Medium. |
zeta_sd | The prior standard deviation of zeta. Zeta is the efficacy model term for being PD-L1 score = Medium. |
lambda_mean | The prior mean of lambda. Lambda is the toxicity model intercept. |
lambda_sd | The prior standard deviation of lambda. Lambda is the toxicity model intercept. |
psi_mean | The prior mean of psi. Psi is the joint model association parameter. |
psi_sd | The prior standard deviation of psi. Psi is the joint model association parameter. |
a list
of parameters
if (FALSE) { set.seed(123) dat <- peps2_get_data(num_patients = 60, prob_eff = c(0.167, 0.192, 0.5, 0.091, 0.156, 0.439), prob_tox = rep(0.1, 6), eff_tox_or = rep(1, 6)) fit <- stan_peps2( eff = dat$eff, tox = dat$tox, cohorts = dat$cohorts ) }