Title: | Dose Transition Pathways for Continual Reassessment Method |
---|---|
Description: | Provides the dose transition pathways (DTP) to project in advance the doses recommended by a model-based design for subsequent patients (stay, escalate, deescalate or stop early) using all the accumulated toxicity information; See Yap et al (2017) <doi: 10.1158/1078-0432.CCR-17-0582>. DTP can be used as a design and an operational tool and can be displayed as a table or flow diagram. The 'dtpcrm' package also provides the modified continual reassessment method (CRM) and time-to-event CRM (TITE-CRM) with added practical considerations to allow stopping early when there is sufficient evidence that the lowest dose is too toxic and/or there is a sufficient number of patients dosed at the maximum tolerated dose. |
Authors: | Christina Yap [aut, cre], Daniel Slade [aut], Kristian Brock [aut], Yi Pan [aut] |
Maintainer: | Christina Yap <[email protected]> |
License: | GPL (>= 2) |
Version: | 0.1.1 |
Built: | 2025-02-23 03:46:16 UTC |
Source: | https://github.com/cran/dtpcrm |
applied_crm is used to execute the continual reassessment method with specified design options to determine the dose for the next subject.
applied_crm(prior, target, tox, level, no_skip_esc = TRUE, no_skip_deesc = TRUE, global_coherent_esc = TRUE, stop_func = NULL, ...)
applied_crm(prior, target, tox, level, no_skip_esc = TRUE, no_skip_deesc = TRUE, global_coherent_esc = TRUE, stop_func = NULL, ...)
prior |
A vector of prior estimates of toxicity probabilties for the dose levels. |
target |
The target DLT rate. |
tox |
A vector of subject outcomes; 1 indicates toxicity, 0 otherwise. |
level |
A vector of dose levels assigned to subjects. The length of level must be equal to that of tox. |
no_skip_esc |
If FALSE, the method will not enforce no skipping of doses in escalation. Default is TRUE. |
no_skip_deesc |
If FALSE, the method will not enforce no skipping of doses in de-escalation. Default is TRUE. |
global_coherent_esc |
If FALSE, the method will not enforce global coherent escalation, that is, escalation if the overall rate of toxicity seen at the current dose level is above the target rate. Default is TRUE. |
stop_func |
An optional argument to provide a function which will utilised alongside the CRM to determine if the trial should be stopped. |
... |
Any other arguments detailed in dfcrm::crm. |
For maximum likelihood estimation, the variance of the estimate of beta (post.var) is approximated by the posterior variance of beta with a dispersed normal prior.
The empiric model is specified as F(d, beta) = d^exp(beta). The logistic model is specified as logit (F(d,beta)) = intcpt + exp(beta) * d. For method="bayes", the prior on beta is normal with mean 0. Exponentiation of beta ensures an increasing dose-toxicity function.
This function is largely a wrapper for the dfcrm function crm. It provides functionality for additional design choices for the CRM including global coherency and stopping for excess toxicity and stopping when sufficient number of subjects are dosed at MTD.
An object of class "mtd" is returned as per package "dfcrm", additional information is provided if a stopping function is used.
prior |
Initial guesses of toxicity rates. |
target |
The target probability of toxicity at the MTD. |
ptox |
Updated estimates of toxicity rates. |
ptoxL |
Lower confidence/probability limits of toxicity rates. |
ptoxU |
Upper confidence/probability limits of toxicity rates. |
mtd |
The updated estimate of the MTD. |
prior.var |
The variance of the normal prior. |
post.var |
The posterior variance of the model parameter. |
estimate |
Estimate of the model parameter. |
method |
The method of estimation. |
model |
The working model. |
dosescaled |
The scaled doses obtained via backward substitution. |
tox |
Patients' toxicity indications. |
level |
Dose levels assigned to patients. |
stop |
A logical variable detailing if the trial should be stopped; TRUE to stop, FALSE otherwise |
stop_reason |
A detailed reason for why the trial should be stopped. Only provided if stop is TRUE |
O'Quigley, J. O., Pepe, M., and Fisher, L. (1990). Continual reassessment method: A practical design for phase I clinical trials in cancer. Biometrics 46:33-48.
Cheung, Y. K. (2011). Dose Finding by the Continual Reassessment Method. New York: Chapman & Hall/CRC Press.
prior <- c(0.1, 0.3, 0.5) target <- 0.2 tox <- c(0, 0, 1, 0, 1, 1) level <- c(1, 1, 1, 2, 2, 2) applied_crm(prior, target, tox, level, no_skip_esc = TRUE, no_skip_deesc = TRUE, global_coherent_esc = TRUE, stop_func = NULL)
prior <- c(0.1, 0.3, 0.5) target <- 0.2 tox <- c(0, 0, 1, 0, 1, 1) level <- c(1, 1, 1, 2, 2, 2) applied_crm(prior, target, tox, level, no_skip_esc = TRUE, no_skip_deesc = TRUE, global_coherent_esc = TRUE, stop_func = NULL)
applied_crm_sim is used to simulate trials using the continual reassessment method with specified design options to determine the operating characteristics.
applied_crm_sim(true_tox, prior, target, max_sample_size, first_dose, num_sims, cohort_size = 1, dose_func = applied_crm, ...)
applied_crm_sim(true_tox, prior, target, max_sample_size, first_dose, num_sims, cohort_size = 1, dose_func = applied_crm, ...)
true_tox |
A vector of 'true' underlying rates of toxicity for each of the dose levels. |
prior |
A vector of prior estimates of toxicity probabilties for the dose levels. |
target |
The target DLT rate. |
max_sample_size |
The maximum number of subjects to be recruited in any simulation. |
first_dose |
The first dose level to tested. |
num_sims |
The total number of simulations to be run. |
cohort_size |
The size of the cohorts. Default is 1. |
dose_func |
The function to be employed in executing the CRM. Default is applied_crm. |
... |
Any other arguements detailed in dtpcrm::applied_crm. |
A list containing two further lists. The first of these lists contains the operating charateristics of the design, the second contains the underlying data for each of the simulation iterations.
O'Quigley, J. O., Pepe, M., and Fisher, L. (1990). Continual reassessment method: A practical design for phase I clinical trials in cancer. Biometrics 46:33-48.
Cheung, Y. K. (2011). Dose Finding by the Continual Reassessment Method. New York: Chapman & Hall/CRC Press.
# It may take quite long for large num_sims prior <- c(0.1, 0.3, 0.5) target <- 0.2 true_tox <- c(0.15, 0.25, 0.45) first_dose <- 1 num_sims <- 5 # recommend doing 5000 simulations for the final design applied_crm_sim(true_tox, prior, target, max_sample_size = 30, first_dose, num_sims, cohort_size = 1, dose_func = applied_crm)
# It may take quite long for large num_sims prior <- c(0.1, 0.3, 0.5) target <- 0.2 true_tox <- c(0.15, 0.25, 0.45) first_dose <- 1 num_sims <- 5 # recommend doing 5000 simulations for the final design applied_crm_sim(true_tox, prior, target, max_sample_size = 30, first_dose, num_sims, cohort_size = 1, dose_func = applied_crm)
applied_titecrm is used to execute the time-to-event continual reassessment method with specified design options to determine the dose for the next subject.
applied_titecrm(prior, target, tox, level, followup, obswin, no_skip_esc = TRUE, no_skip_deesc = TRUE, global_coherent_esc = TRUE, stop_func = NULL, ...)
applied_titecrm(prior, target, tox, level, followup, obswin, no_skip_esc = TRUE, no_skip_deesc = TRUE, global_coherent_esc = TRUE, stop_func = NULL, ...)
prior |
A vector of prior estimates of toxicity probabilties for the dose levels. |
target |
The target DLT rate. |
tox |
A vector of subject outcomes; 1 indicates toxicity, 0 otherwise. |
level |
A vector of dose levels assigned to subjects. The length of level must be equal to that of tox. |
followup |
A vector of follow up times of subjects. The length must be equal to that of tox. |
obswin |
The observation period with respect to which DLT is assessed. |
no_skip_esc |
If FALSE, the method will not enforce no skipping of doses in escalation. Default is TRUE. |
no_skip_deesc |
If FALSE, the method will not enforce no skipping of doses in de-escalation. Default is TRUE. |
global_coherent_esc |
If FALSE, the method will not enforce global coherent escalation, that is, escalation if the overall rate of toxicity seen at the current dose level is above the target rate. Default is TRUE. |
stop_func |
An optional argument to provide a function which will utilised alongside the TITE-CRM to determine if the trial should be stopped. |
... |
Any other arguments detailed in dfcrm::titecrm. |
The adaptive weighting scheme is given in Cheung and Chappell (2000) given in the reference list.
An object of class "mtd" is returned as per package "dfcrm", additional information is provided if a stopping function is used.
prior |
Initial guesses of toxicity rates. |
target |
The target probability of toxicity at the MTD. |
ptox |
Updated estimates of toxicity rates. |
ptoxL |
Lower confidence/probability limits of toxicity rates. |
ptoxU |
Upper confidence/probability limits of toxicity rates. |
mtd |
The updated estimate of the MTD. |
prior.var |
The variance of the normal prior. |
post.var |
The posterior variance of the model parameter. |
estimate |
Estimate of the model parameter. |
method |
The method of estimation. |
model |
The working model. |
dosescaled |
The scaled doses obtained via backward substitution. |
tox |
subjects' toxicity indications. |
level |
Dose levels assigned to subjects. |
followup |
Follow-up times of subjects. |
obswin |
Observation window with respect to which DLT is assessed. |
weights |
Weights assigned to subjects. |
entry |
Entry times of subjects. |
exit |
Exit times of subjects. |
scheme |
Weighting scheme. |
stop |
A logical variable detailing if the trial should be stopped; TRUE to stop, FALSE otherwise |
stop_reason |
A detailed reason for why the trial should be stopped. Only provided if stop is TRUE |
O'Quigley, J. O., Pepe, M., and Fisher, L. (1990). Continual reassessment method: A practical design for phase I clinical trials in cancer. Biometrics 46:33-48.
Cheung, Y. K. (2011). Dose Finding by the Continual Reassessment Method. New York: Chapman & Hall/CRC Press.
Cheung, Y. K. and Chappell, R. (2000). Sequential designs for phase I clinical trials with late-onset toxicities. Biometrics 56:1177-1182.
prior <- c(0.1, 0.3, 0.5) target <- 0.2 tox <- c(0, 0, 1, 0, 1, 1) level <- c(1, 1, 1, 2, 2, 2) followup <- c(96, 82, 77, 60, 51, 44) obswin <- 80 applied_titecrm(prior = prior, target = target, tox = tox,level = level, followup = followup, obswin = obswin)
prior <- c(0.1, 0.3, 0.5) target <- 0.2 tox <- c(0, 0, 1, 0, 1, 1) level <- c(1, 1, 1, 2, 2, 2) followup <- c(96, 82, 77, 60, 51, 44) obswin <- 80 applied_titecrm(prior = prior, target = target, tox = tox,level = level, followup = followup, obswin = obswin)
applied_titecrm_sim is used to simulate trials using the time-to-event continual reassessment method with specified design options to determine the operating characteristics.
applied_titecrm_sim(true_tox, prior, target, max_sample_size, first_dose, num_sims, cohort_size = 1, obswin, minfu, recrate, dose_func = applied_titecrm, ...)
applied_titecrm_sim(true_tox, prior, target, max_sample_size, first_dose, num_sims, cohort_size = 1, obswin, minfu, recrate, dose_func = applied_titecrm, ...)
true_tox |
A vector of 'true' underlying rates of toxicity for each of the dose levels. |
prior |
A vector of prior estimates of toxicity probabilties for the dose levels. |
target |
The target DLT rate. |
max_sample_size |
The maximum number of subjects to be recruited in any simulation. |
first_dose |
The first dose level to tested. |
num_sims |
The total number of simulations to be run. |
cohort_size |
The size of the subject cohorts. Default is 1. |
obswin |
The observation period for total subject follow up. |
minfu |
The minimum amount of follow-up required for each subjects. |
recrate |
The number of subjects recruited per obswin. |
dose_func |
The function to be employed in executing the CRM. Default is applied_titecrm. |
... |
Any other arguements detailed in dtp::applied_titecrm. |
A list containg two further lists. The first of these lists contains the operating charateristics of the design, the second contains the underlying data for each of the simulation iterations.
O'Quigley, J. O., Pepe, M., and Fisher, L. (1990). Continual reassessment method: A practical design for phase I clinical trials in cancer. Biometrics 46:33-48.
Cheung, Y. K. (2011). Dose Finding by the Continual Reassessment Method. New York: Chapman & Hall/CRC Press.
# It may take quite long for large num_sims prior <- c(0.1, 0.3, 0.5) target <- 0.2 true_tox <- c(0.05, 0.2, 0.35) first_dose <- 1 num_sims <- 5 # recommend doing 5000 simulations for the final design obswin = 80 applied_titecrm_sim(true_tox = true_tox, prior = prior, target = target, max_sample_size = 21, first_dose = first_dose, num_sims = num_sims, cohort_size = 3, obswin = obswin, minfu = 20, recrate = 3, dose_func = applied_titecrm)
# It may take quite long for large num_sims prior <- c(0.1, 0.3, 0.5) target <- 0.2 true_tox <- c(0.05, 0.2, 0.35) first_dose <- 1 num_sims <- 5 # recommend doing 5000 simulations for the final design obswin = 80 applied_titecrm_sim(true_tox = true_tox, prior = prior, target = target, max_sample_size = 21, first_dose = first_dose, num_sims = num_sims, cohort_size = 3, obswin = obswin, minfu = 20, recrate = 3, dose_func = applied_titecrm)
applied_titecrmts_sim is used to simulate trials using the two-stage time-to-event continual reassessment method with specified design options to determine the operating characteristics.
applied_titecrmts_sim(true_tox, prior, target, max_sample_size, num_sims, cohort_size = 1, obswin, minfu, recrate, initdes, dose_func = applied_titecrm, ...)
applied_titecrmts_sim(true_tox, prior, target, max_sample_size, num_sims, cohort_size = 1, obswin, minfu, recrate, initdes, dose_func = applied_titecrm, ...)
true_tox |
A vector of 'true' underlying rates of toxicity for each of the dose levels. |
prior |
A vector of prior estimates of toxicity probabilties for the dose levels. |
target |
The target DLT rate. |
max_sample_size |
The maximum number of subjects to be recruited in any simulation. |
num_sims |
The total number of simulations to be run. |
cohort_size |
The size of the cohorts. Default is 1. |
obswin |
The observation period for total subject follow up. |
minfu |
The minimum amount of follow-up required for each subject. |
recrate |
The number of subjects recruited per obswin. |
initdes |
A vector specifying the doses to be assisned to subjects as per the initial design. |
dose_func |
The function to be employed in executing the CRM. Default is applied_titecrm. |
... |
Any other arguements detailed in dtp::applied_titecrm. |
A list containg two further lists. The first of these lists contains the operating charateristics of the design, the second contains the underlying data for each of the simulation iterations.
O'Quigley, J. O., Pepe, M., and Fisher, L. (1990). Continual reassessment method: A practical design for phase I clinical trials in cancer. Biometrics 46:33-48.
Cheung, Y. K. (2011). Dose Finding by the Continual Reassessment Method. New York: Chapman & Hall/CRC Press.
# It may take quite long for large num_sims prior <- c(0.1, 0.3, 0.5) target <- 0.2 true_tox <- c(0.05, 0.2, 0.35) first_dose <- 1 num_sims <- 5 # recommend doing 5000 simulations for the final design obswin = 80 applied_titecrmts_sim(true_tox = true_tox, prior = prior, target = target, max_sample_size = 21, num_sims = num_sims, cohort_size = 3, obswin = obswin, minfu = 20, recrate = 3, initdes = c(rep(1, 3), rep(2, 3), rep(3, 15)), dose_func = applied_titecrm)
# It may take quite long for large num_sims prior <- c(0.1, 0.3, 0.5) target <- 0.2 true_tox <- c(0.05, 0.2, 0.35) first_dose <- 1 num_sims <- 5 # recommend doing 5000 simulations for the final design obswin = 80 applied_titecrmts_sim(true_tox = true_tox, prior = prior, target = target, max_sample_size = 21, num_sims = num_sims, cohort_size = 3, obswin = obswin, minfu = 20, recrate = 3, initdes = c(rep(1, 3), rep(2, 3), rep(3, 15)), dose_func = applied_titecrm)
calculate_dtps is used to produce the dose transition pathways for the continual reassessment method with specified design options. These pathways present the possible model recommendations based on all permumations of trial outcomes.
calculate_dtps(next_dose, cohort_sizes, prev_tox = c(), prev_dose = c(), dose_func = applied_crm, ...)
calculate_dtps(next_dose, cohort_sizes, prev_tox = c(), prev_dose = c(), dose_func = applied_crm, ...)
next_dose |
An integer value representing the dose to be assigned to the first cohort of subjects in the pathways. |
cohort_sizes |
A vector of cohort sizes representing the size of the cohorts to be treated with the recommended dose at each decision point. |
prev_tox |
A vector of previous subject outcomes; 1 indicates toxicity, 0 otherwise. |
prev_dose |
A vector of previous subject doses; The length of prev_dose must be equal to that of prev_tox. |
dose_func |
A function such as applied_crm which produces an object of class 'mtd'. To be used for calculation of the next recommended dose for each pathway permutation. |
... |
Any other arguments to be passed to dose_func; for specific arguments related to applied_crm see. |
Produces a dataframe containing all possible permutations of outcomes for each cohort based on cohort_sizes and the recommended doses for such permutations.
prior <- c(0.1, 0.2, 0.5) target <- 0.15 prev_tox <- c(0, 0, 0) prev_dose <- c(2, 2, 2) cohort_sizes <- c(2, 3) next_dose = applied_crm(prior = prior, target = target, tox = prev_tox, level = prev_dose)$mtd dose_func <- applied_crm DTP = calculate_dtps(next_dose, cohort_sizes, prev_tox = prev_tox, prev_dose = prev_dose, dose_func = applied_crm, prior = prior, target = target)
prior <- c(0.1, 0.2, 0.5) target <- 0.15 prev_tox <- c(0, 0, 0) prev_dose <- c(2, 2, 2) cohort_sizes <- c(2, 3) next_dose = applied_crm(prior = prior, target = target, tox = prev_tox, level = prev_dose)$mtd dose_func <- applied_crm DTP = calculate_dtps(next_dose, cohort_sizes, prev_tox = prev_tox, prev_dose = prev_dose, dose_func = applied_crm, prior = prior, target = target)
dtpflow will produce a flow diagram of the possible paths for the next three cohorts of subjects.
dtpflow(dtptable, cohort.labels = c('C1', 'C2', 'C3'))
dtpflow(dtptable, cohort.labels = c('C1', 'C2', 'C3'))
dtptable |
a dataframe produced by calculate_dtps where cohort_sizes was of length 3. |
cohort.labels |
A vector of length 3, containing character strings for the cohort labels. |
The function will produce a visual flow diagram for the first three cohorts of the provided dataframe.
prior <- c(0.1, 0.2, 0.5) target <- 0.15 prev_tox <- c(0, 0, 0) prev_dose <- c(2, 2, 2) cohort_sizes <- c(2, 3, 3) next_dose = applied_crm(prior = prior, target = target, tox = prev_tox, level = prev_dose)$mtd dose_func <- applied_crm DTP = calculate_dtps(next_dose, cohort_sizes, prev_tox = prev_tox, prev_dose = prev_dose, dose_func = applied_crm, prior = prior, target = target) dtpflow(dtptable = DTP, cohort.labels = c('C1', 'C2', 'C3'))
prior <- c(0.1, 0.2, 0.5) target <- 0.15 prev_tox <- c(0, 0, 0) prev_dose <- c(2, 2, 2) cohort_sizes <- c(2, 3, 3) next_dose = applied_crm(prior = prior, target = target, tox = prev_tox, level = prev_dose)$mtd dose_func <- applied_crm DTP = calculate_dtps(next_dose, cohort_sizes, prev_tox = prev_tox, prev_dose = prev_dose, dose_func = applied_crm, prior = prior, target = target) dtpflow(dtptable = DTP, cohort.labels = c('C1', 'C2', 'C3'))
Provides functionality for plotting the posterior estimates of probabilities of toxicity at each dose level for both the most recent update and for past cohort updates if specified.
plot_crm(crm, dose_labels, cohort_sizes = NULL, file = NULL, height = 600, width = 750, dose_func = NULL, ..., ylim = c(0, 1), lwd = 1, cex.axis = 1, cex.lab = 1, cex = 1, cohort.last = F)
plot_crm(crm, dose_labels, cohort_sizes = NULL, file = NULL, height = 600, width = 750, dose_func = NULL, ..., ylim = c(0, 1), lwd = 1, cex.axis = 1, cex.lab = 1, cex = 1, cohort.last = F)
crm |
An object of class 'mtd' produced by applied_crm to be plotted. |
dose_labels |
A vector of character strings detailing the labels to be used for each dose level in the plot. |
cohort_sizes |
An optional vector of cohort sizes; if provided the previous estimates for each cohort will be plotted in addition. |
file |
An optional string for the file name; if provided the plot will be saved as a .PNG to the current working directory under the provided file name. |
height |
A numeric value specifying the vertical pixel count of the plot. Default is 600. |
width |
A numeric value specifiying the horizontal pixel count of the plot. Default is 750. |
dose_func |
Must be provided if cohort_sizes is provided. The function to be used to when implementing the CRM for previous cohorts. |
... |
Arguments to be provided to dose_func detailing CRM specification. See applied_crm. |
ylim |
The y-axis range. Default is c(0, 1) |
lwd |
line width relative to the default (default=1). 2 is twice as wide. Default is 1. |
cex.axis |
The magnification to be used for axis annotation relative to the current setting of cex. Default is 1. |
cex.lab |
The magnification to be used for x and y labels relative to the current setting of cex. Default is 1. |
cex |
A numerical value giving the amount by which plotting text and symbols should be magnified relative to the default. Default is 1. |
cohort.last |
If TRUE, the last cohort will have lwd = 6 for emphasis. Default is FALSE. |
Produces a plot of current dose-toxicity estimates including the priors and outputs a .png of plot to current directory if 'file' is provided. Potential for history of estimates by cohort if cohort.sizes is provided; dose_func is required to do this.
prior <- c(0.1, 0.3, 0.5) target <- 0.2 tox <- c(0, 0, 1, 0, 1, 1) level <- c(1, 1, 1, 2, 2, 2) crm <- applied_crm(prior, target, tox, level, no_skip_esc = TRUE, no_skip_deesc = TRUE, global_coherent_esc = TRUE, stop_func = NULL) plot_crm(crm, dose_labels = c("1", "2", "3"))
prior <- c(0.1, 0.3, 0.5) target <- 0.2 tox <- c(0, 0, 1, 0, 1, 1) level <- c(1, 1, 1, 2, 2, 2) crm <- applied_crm(prior, target, tox, level, no_skip_esc = TRUE, no_skip_deesc = TRUE, global_coherent_esc = TRUE, stop_func = NULL) plot_crm(crm, dose_labels = c("1", "2", "3"))
This is a function for use with applied_crm for the stop_func argument. The rule will suggest stopping in the scenario that a particular number of patients has already been treated at the current recommended MTD.
stop_for_consensus_reached(x, req_at_mtd)
stop_for_consensus_reached(x, req_at_mtd)
x |
An object of class 'mtd'. |
req_at_mtd |
An integer; the number of patients required at current estimate of MTD to suggest stopping for consensus. |
This function is an example of a possible stopping function to be used with applied_crm, it will modifiy the 'mtd' class object produced by applied_crm to include a logical value under the name 'stop' indicting whether or not the trial should stop. The package dtpcrm contains a few of these functions for possible use with applied_crm.
prior <- c(0.1, 0.3, 0.5) target <- 0.2 tox <- c(0, 0, 1, 0, 1, 1) level <- c(1, 1, 1, 2, 2, 2) stop_rule <- function(x){ x <- stop_for_consensus_reached(x, req_at_mtd = 6) } crm <- applied_crm(prior, target, tox, level, no_skip_esc = TRUE, no_skip_deesc = TRUE, global_coherent_esc = TRUE, stop_func = stop_rule)
prior <- c(0.1, 0.3, 0.5) target <- 0.2 tox <- c(0, 0, 1, 0, 1, 1) level <- c(1, 1, 1, 2, 2, 2) stop_rule <- function(x){ x <- stop_for_consensus_reached(x, req_at_mtd = 6) } crm <- applied_crm(prior, target, tox, level, no_skip_esc = TRUE, no_skip_deesc = TRUE, global_coherent_esc = TRUE, stop_func = stop_rule)
This is a function for use with applied_crm for the stop_func argument. The rule will suggest stopping in the scenario that the probability of toxicity being greater than a specifed value at a defined dose is greater than some further specified certainty value.
stop_for_excess_toxicity_empiric(x, tox_lim, prob_cert, dose = 1, nsamps = 10^6, suppress_dose = TRUE)
stop_for_excess_toxicity_empiric(x, tox_lim, prob_cert, dose = 1, nsamps = 10^6, suppress_dose = TRUE)
x |
An object of class 'mtd'. |
tox_lim |
A numeric; specifying the value for which the estimated toxicity at the selcted dose is not to exceed. |
prob_cert |
A numeric; specifying the probability value to be used when assessing the certainty required that toxicty at the specificed dose exceeds tox_lim. |
dose |
An integer; the dose to be assessed. |
nsamps |
number of samples used for beta in the underlying normal sampling of beta. |
suppress_dose |
A logical value indicating if the MTD should be set to NA if trial should stop. |
This function is an example of a possible stopping function to be used with applied_crm, it will modifiy the 'mtd' class object produced by applied_crm to include a logical value under the name 'stop' indicating whether or not the trial should stop. The package dtpcrm contains a few of these functions for possible use with applied_crm.
prior <- c(0.1, 0.3, 0.5) target <- 0.2 tox <- c(0, 0, 1, 0, 1, 1) level <- c(1, 1, 1, 2, 2, 2) stop_rule <- function(x){ x <- stop_for_excess_toxicity_empiric(x, tox_lim = 0.25, prob_cert = 0.85) } crm <- applied_crm(prior, target, tox, level, no_skip_esc = TRUE, no_skip_deesc = TRUE, global_coherent_esc = TRUE, stop_func = stop_rule)
prior <- c(0.1, 0.3, 0.5) target <- 0.2 tox <- c(0, 0, 1, 0, 1, 1) level <- c(1, 1, 1, 2, 2, 2) stop_rule <- function(x){ x <- stop_for_excess_toxicity_empiric(x, tox_lim = 0.25, prob_cert = 0.85) } crm <- applied_crm(prior, target, tox, level, no_skip_esc = TRUE, no_skip_deesc = TRUE, global_coherent_esc = TRUE, stop_func = stop_rule)
This is a function for use with applied_crm for the stop_func argument. The rule will suggest stopping in the scenario that the probability of toxicity being greater than a specifed value at a defined dose is greater than some further specified certainty value.
stop_for_excess_toxicity_logistic(x, tox_lim, prob_cert, dose = 1, nsamps = 10^6, suppress_dose = TRUE)
stop_for_excess_toxicity_logistic(x, tox_lim, prob_cert, dose = 1, nsamps = 10^6, suppress_dose = TRUE)
x |
An object of class 'mtd'. |
tox_lim |
A numeric; specifying the value for which the estimated toxicity at the selcted dose is not to exceed. |
prob_cert |
A numeric; specifying the probability value to be used when assessing the certainty required that toxicty at the specificed dose exceeds tox_lim. |
dose |
An integer; the dose to be assessed. |
nsamps |
Number of samples used for beta in the underlying normal sampling of beta. |
suppress_dose |
A logical value indicating if the MTD should be set to NA if trial should stop. |
This function is an example of a possible stopping function to be used with applied_crm, it will modifiy the 'mtd' class object produced by applied_crm to include a logical value under the name 'stop' indicating whether or not the trial should stop. The package dtpcrm contains a few of these functions for possible use with applied_crm.
prior <- c(0.1, 0.3, 0.5) target <- 0.2 tox <- c(0, 0, 1, 0, 1, 1) level <- c(1, 1, 1, 2, 2, 2) stop_rule <- function(x){ x <- stop_for_excess_toxicity_logistic(x, tox_lim = 0.25, prob_cert = 0.85) } crm <- applied_crm(prior, target, tox, level, no_skip_esc = TRUE, no_skip_deesc = TRUE, global_coherent_esc = TRUE, stop_func = stop_rule)
prior <- c(0.1, 0.3, 0.5) target <- 0.2 tox <- c(0, 0, 1, 0, 1, 1) level <- c(1, 1, 1, 2, 2, 2) stop_rule <- function(x){ x <- stop_for_excess_toxicity_logistic(x, tox_lim = 0.25, prob_cert = 0.85) } crm <- applied_crm(prior, target, tox, level, no_skip_esc = TRUE, no_skip_deesc = TRUE, global_coherent_esc = TRUE, stop_func = stop_rule)
This is a function for use with applied_crm for the stop_func argument. The rule will suggest stopping in the scenario that a maximum number of subjects has been recruited.
stop_for_sample_size(x, max_sample_size)
stop_for_sample_size(x, max_sample_size)
x |
An object of class 'mtd'. |
max_sample_size |
An integer; specifying the maxmium number of subjects to be recruited. |
This function is an example of a possible stopping function to be used with applied_crm, it will modifiy the 'mtd' class object produced by applied_crm to include a logical value under the name 'stop' indicting whether or not the trial should stop. The package dtpcrm contains a few of these functions for possible use with applied_crm.
prior <- c(0.1, 0.3, 0.5) target <- 0.2 tox <- c(0, 0, 1, 0, 1, 1) level <- c(1, 1, 1, 2, 2, 2) stop_rule <- function(x){ x <- stop_for_sample_size(x, max_sample_size = 20) } crm <- applied_crm(prior, target, tox, level, no_skip_esc = TRUE, no_skip_deesc = TRUE, global_coherent_esc = TRUE, stop_func = stop_rule)
prior <- c(0.1, 0.3, 0.5) target <- 0.2 tox <- c(0, 0, 1, 0, 1, 1) level <- c(1, 1, 1, 2, 2, 2) stop_rule <- function(x){ x <- stop_for_sample_size(x, max_sample_size = 20) } crm <- applied_crm(prior, target, tox, level, no_skip_esc = TRUE, no_skip_deesc = TRUE, global_coherent_esc = TRUE, stop_func = stop_rule)
summary_crm is used to return a dataframe of the summary of the output from applied_crm.
summary_crm(x)
summary_crm(x)
x |
An object assigned to be the output from applied_crm. |
This function takes an object of class "mtd" and produces a dataframe containing a summary of information within the object. Specifically it shows the dose levels, prior probabilities, number of evaluable patients, number of DLTs and the posterior probability estimates along with confidence/probability intervals if estimated in the underlying object.
Dataframe of the summary of the output from applied_crm.
O'Quigley, J. O., Pepe, M., and Fisher, L. (1990). Continual reassessment method: A practical design for phase I clinical trials in cancer. Biometrics 46:33-48.
Cheung, Y. K. (2011). Dose Finding by the Continual Reassessment Method. New York: Chapman & Hall/CRC Press.
prior <- c(0.1, 0.3, 0.5) target <- 0.2 tox <- c(0, 0, 1, 0, 1, 1) level <- c(1, 1, 1, 2, 2, 2) crm_obj <- applied_crm(prior, target, tox, level, no_skip_esc = TRUE, no_skip_deesc = TRUE, global_coherent_esc = TRUE, stop_func = NULL) summary_crm(crm_obj)
prior <- c(0.1, 0.3, 0.5) target <- 0.2 tox <- c(0, 0, 1, 0, 1, 1) level <- c(1, 1, 1, 2, 2, 2) crm_obj <- applied_crm(prior, target, tox, level, no_skip_esc = TRUE, no_skip_deesc = TRUE, global_coherent_esc = TRUE, stop_func = NULL) summary_crm(crm_obj)