stan_crm {trialr} | R Documentation |
Fit a CRM model
Description
Fit a continual reassessment method (CRM) model for dose-finding using Stan for full Bayesian inference. There are several likelihood and prior combinations supported. See model-specific sections below.
Usage
stan_crm(
outcome_str = NULL,
skeleton,
target,
model = c("empiric", "logistic", "logistic_gamma", "logistic2"),
a0 = NULL,
alpha_mean = NULL,
alpha_sd = NULL,
beta_mean = NULL,
beta_sd = NULL,
beta_shape = NULL,
beta_inverse_scale = NULL,
doses_given = NULL,
tox = NULL,
weights = NULL,
...
)
Arguments
outcome_str |
A string representing the outcomes observed hitherto.
See |
skeleton |
a vector of the prior guesses of toxicity at doses. This should be a monotonically-increasing vector of numbers between 0 and 1. |
target |
the target toxicity probability, a number between 0 and 1.
This value would normally be one of the values in |
model |
Character string to denote desired model. One of |
a0 |
Value of fixed intercept parameter. Only required for certain models. See Details. |
alpha_mean |
Prior mean of intercept variable for normal prior. Only required for certain models. See Details. |
alpha_sd |
Prior standard deviation of intercept variable for normal prior. Only required for certain models. See Details. |
beta_mean |
Prior mean of gradient variable for normal prior. Only required for certain models. See Details. |
beta_sd |
Prior standard deviation of slope variable for normal prior. Only required for certain models. See Details. |
beta_shape |
Prior shape parameter of slope variable for gamma prior. Only required for certain models. See Details. |
beta_inverse_scale |
Prior inverse scale parameter of slope variable for gamma prior. Only required for certain models. See Details. |
doses_given |
A optional vector of dose-levels given to patients
1:num_patients, where 1=lowest dose, 2=second dose, etc. Only required when
|
tox |
An optional vector of toxicity outcomes for patients
1:num_patients, where 1=toxicity and 0=no toxicity. Only required when
|
weights |
An optional vector of numeric weights for the observations
for patients 1:num_patients, thus facilitating the TITE-CRM design.
Can be used with |
... |
Extra parameters are passed to |
Details
The quickest and easiest way to fit a CRM model to some observed outcomes
is to describe the outcomes using trialr's syntax for dose-finding
outcomes. See df_parse_outcomes
for full details and examples.
Different model choices require that different parameters are provided. See sections below.
Value
An object of class crm_fit
The empiric
model
The model form is:
F(x_{i}, \beta) = x_{i}^{\exp{\beta}}
and the required parameters are:
-
beta_sd
The logistic
model
The model form is:
F(x_{i}, \beta) = 1 / (1 + \exp{(-a_{0} - \exp{(\beta)} x_{i}}))
and the required parameters are:
-
a0
-
beta_mean
-
beta_sd
The logistic_gamma
model
The model form is:
F(x_{i}, \beta) = 1 / (1 + \exp{(-a_{0} - \exp{(\beta)} x_{i}}))
and the required parameters are:
-
a0
-
beta_shape
-
beta_inverse_scale
The logistic2
model
The model form is:
F(x_{i}, alpha, \beta) = 1 / (1 + \exp{(-\alpha - \exp{(\beta)} x_i)})
and the required parameters are:
-
alpha_mean
-
alpha_sd
-
beta_mean
-
beta_sd
Author(s)
Kristian Brock
References
O'Quigley, J., Pepe, M., & Fisher, L. (1990). Continual reassessment method: a practical design for phase 1 clinical trials in cancer. Biometrics, 46(1), 33-48. https://www.jstor.org/stable/2531628
Cheung, Y.K. (2011). Dose Finding by the Continual Reassessment Method. CRC Press. ISBN 9781420091519
See Also
Examples
## Not run:
# CRM example
fit1 <- stan_crm('1N 2N 3T', skeleton = c(0.1, 0.2, 0.35, 0.6),
target = 0.2, model = 'empiric', beta_sd = sqrt(1.34),
seed = 123)
fit2 <- stan_crm('1NNN 2NNN 3TTT', skeleton = c(0.1, 0.2, 0.35, 0.6),
target = 0.2, model = 'logistic', a0 = 3, beta_mean = 0,
beta_sd = sqrt(1.34), seed = 123)
# The seed is passed to the Stan sampler. The usual Stan sampler params like
# cores, iter, chains etc are passed on too via the ellipsis operator.
# TITE-CRM example, p.124 of Dose Finding by the CRM, Cheung (2010)
fit3 <-stan_crm(skeleton = c(0.05, 0.12, 0.25, 0.40, 0.55), target = 0.25,
doses_given = c(3, 3, 3, 3),
tox = c(0, 0, 0, 0),
weights = c(73, 66, 35, 28) / 126,
model = 'empiric', beta_sd = sqrt(1.34), seed = 123)
fit3$recommended_dose
## End(Not run)