Phase II clinical trials in oncology commonly assess response as a key outcome measure. Patients achieve a RECIST response if their tumour size post-baseline has changed in size by some threshold amount and they do not experience non-shrinkage failure. An example of non-shrinkage failure is the appearance of new lesions. As a dichtotomisation of the underlying continuous tumour size measurement, RECIST response is inefficient. Wason & Seaman introduced the Augmented Binary method to incorporate mechanisms for non-shrinkage failure whilst modelling the probability of response based on the continuous tumour size measurements. See model-specific sections below, and the references.

stan_augbin(
  tumour_size,
  non_shrinkage_failure,
  arm = NULL,
  model = c("2t-1a"),
  prior_params = list(),
  ...
)

Arguments

tumour_size

matrix-like object containing tumour size measures, with rows representing patients and columns representing chronological standardised assessment points. Column one is baseline.

non_shrinkage_failure

matrix-like object containing logical indicators of non-shrinkage failure, with rows representing patients and columns representing chronological standardised assessment points.

arm

optional vector of integers representing the allocated treatment arms for patients, assumed in the same order as tumour_size and non_shrinkage_failure. NULL to fit the augbin variant for single-arm trials. NULL is the default.

model

Character string to denote the desired model. Currently, only 2t-1a is supported, representing the model variant with two post-baseline assessments in a single arm trial. Multi-period and multi-arm versions will be added in future releases. The model choice determines the prior parameters that must be provided. See sections below.

prior_params

list of prior parameters. These are combined with the data and passed to rstan::sampling. The parameters required depend on the model form being fit. See sections below.

...

Extra parameters are passed to rstan::sampling. Commonly used options are iter, chains, warmup, cores, control. See sampling.

Value

an instance or subclass of type augbin_fit.

Single-arm model with two post-baseline assessments

The complete model form is: $$(y_{1i}, y_{2i})^T \sim N( (\mu_{1i}, \mu_{2i})^T, \Sigma) $$ $$ \mu_{1i} = \alpha + \gamma z_{0i} $$ $$ \mu_{2i} = \beta + \gamma z_{0i} $$ $$ logit(Pr(D_{1i} = 1 | Z_{0i})) = \alpha_{D1} + \gamma_{D1} z_{0i} $$ $$ logit(Pr(D_{2i} = 1 | D_{1i} = 0, Z_{0i}, Z_{1i})) = \alpha_{D2} + \gamma_{D2} z_{1i} $$ where \(z_{0i}, z_{1i}, z_{2i}\) are tumour sizes at baseline, period 1, and period 2, for patient i; \(y_{1i}, y_{2i}\) are the log-tumour-size ratios with respect to baseline; \(D_{1i}, D_{2i}\) are indicators of non-shrinkage failure; and \(\Sigma\) is assumed to be unstructured covariance matrix, with associated correlation matrix having an LKJ prior.

The following prior parameters are required:

  • alpha_mean & alpha_sd for normal prior on \(\alpha\).

  • beta_mean & beta_sd for normal prior on \(\beta\).

  • gamma_mean & gamma_sd for normal prior on \(\gamma\).

  • sigma_mean & sigma_sd for normal priors on diagonal elements of \(\Sigma\);

  • omega_lkj_eta for a LKJ prior on the two-period correlation matrix associated with Sigma. omega_lkj_eta = 1 is uniform, analogous to a Beta(1,1) prior on a binary probability.

  • alpha_d1_mean & alpha_d1_sd for normal prior on \(\alpha_{D1}\).

  • gamma_d1_mean & gamma_d1_sd for normal prior on \(\gamma_{D1}\).

  • alpha_d2_mean & alpha_d2_sd for normal prior on \(\alpha_{D2}\).

  • gamma_d2_mean & gamma_d2_sd for normal prior on \(\gamma_{D2}\).

References

Wason JMS, Seaman SR. Using continuous data on tumour measurements to improve inference in phase II cancer studies. Statistics in Medicine. 2013;32(26):4639-4650. doi:10.1002/sim.5867

Eisenhauer EA, Therasse P, Bogaerts J, et al. New response evaluation criteria in solid tumours: Revised RECIST guideline (version 1.1). European Journal of Cancer. 2009;45(2):228-247. doi:10.1016/j.ejca.2008.10.026

See also

Examples

priors <- list(alpha_mean = 0, alpha_sd = 1, beta_mean = 0, beta_sd = 1, gamma_mean = 0, gamma_sd = 1, sigma_mean = 0, sigma_sd = 1, omega_lkj_eta = 1, alpha_d1_mean = 0, alpha_d1_sd = 1, gamma_d1_mean = 0, gamma_d1_sd = 1, alpha_d2_mean = 0, alpha_d2_sd = 1, gamma_d2_mean = 0, gamma_d2_sd = 1) # Scenario 1 of Table 1 in Wason & Seaman (2013) N <- 50 sigma <- 1 delta1 <- -0.356 mu <- c(0.5 * delta1, delta1) Sigma = matrix(c(0.5 * sigma^2, 0.5 * sigma^2, 0.5 * sigma^2, sigma^2), ncol = 2) alphaD <- -1.5 gammaD <- 0 set.seed(123456) y <- MASS::mvrnorm(n = N, mu, Sigma) z0 <- runif(N, min = 5, max = 10) z1 <- exp(y[, 1]) * z0 z2 <- exp(y[, 2]) * z0 d1 <- rbinom(N, size = 1, prob = gtools::inv.logit(alphaD + gammaD * z0)) d2 <- rbinom(N, size = 1, prob = gtools::inv.logit(alphaD + gammaD * z1)) tumour_size <- data.frame(z0, z1, z2) # Sizes in cm non_shrinkage_failure <- data.frame(d1, d2) # Fit if (FALSE) { fit <- stan_augbin(tumour_size, non_shrinkage_failure, prior_params = priors, model = '2t-1a', seed = 123) }