Package 'CRM'

Title: Continual Reassessment Method (CRM) for Phase I Clinical Trials
Description: Functions for phase I clinical trials using the continual reassessment method.
Authors: Qianxing Mo
Maintainer: Qianxing Mo <[email protected]>
License: GPL (>= 2)
Version: 1.2.4
Built: 2024-11-18 06:52:25 UTC
Source: CRAN

Help Index


A function for the continued reassessment method (CRM) used in Phase I clinical trials

Description

Function crm implement the continued reassessment method (CRM) for dose finding in Phase I clinical trials.

Usage

crm(target,prior,ptdata,model=1,a0=1,b=3)

Arguments

target

Target probability of toxicity. The value must be in (0, 1).

prior

Prior probabilities of toxicity for each dose. The values must be in (0,1) and in an ascending order. For example, prior=c(0.05,0.1,0.2,0.3,0.5,0.7),which corresponds to dose levels 1, 2, 3, 4, 5 and 6,respectively.

ptdata

A n by 2 matrix in which the first column contains dose levels and the second column contains toxicity indicators. Dose levels must be integers (e.g., 1, 2, 3, ..., N). Toxicity indicators must be 0 and 1, where 0 indicates no toxicity and 1 indicates toxicity.

model

Dose-toxicity model. The value must be 1 (hyperbolic tangent model) or 2 (one-parameter logistic model). Default is 1. Hyperbolic tangent model: $p(y=1|x,a) = ((tanh(x)+1)/2)^a$. One-parameter logistic model: $p(y=1|x,a,b) = exp(b+ax)/(1+exp(b+ax))$. For both models, y=1 indicates toxicity is observed; a is the parameter that can be updated based on the outcome of the trail; b is a fixed parameter. The prior for a is exp(-a).

a0

Initial value for parameter a. Default is 1.0.

b

A fixed parameter for the one-parameter logistic model. Default is 3.0.

Value

A list with the following two objects:

MTD

The dose level proposed as the maximum tolerated dose (MTD) based on the patient data

a

The updated value for parameter a

Author(s)

Qianxing Mo; [email protected]

References

John O'Quigley, Margaret Pepe,and Lloyd Fisher. (1990). Continual Reassessment Method: A Practical Design for Phase 1 Clinical Trials in Cancer. Biometrics, 46, pp.33-48

See Also

crmsim, crmsiminc1, crmsiminc2

Examples

#The table 1 in O'Quingley et al.'s paper, page 40
#This example is used to illustrate how the program is used to find
#the MTD and the updated parameter 
 
target <- 0.2
prior <- c(0.05,0.1,0.2,0.3,0.5,0.7)
x <- c(3,4,4,3,3,2,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1)
y <- c(0,0,1,0,1,1,0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,1,0,1,1)
ptdata <- cbind(x,y)
for(i in 1:25){
  if(i == 1){
    cat(1,1,3,0,"\n")
  }
  res <- crm(target,prior,ptdata[1:i,],model=1,a0=1)
  if(i < 25){
    cat(i+1,res$a,res$MTD,ptdata[i+1,2],"\n")
  }else {
    cat(i+1,res$a,res$MTD,"\n")
  }
}

#the proposed MTD is
res$MTD

CRM Simulator

Description

crmsim, crmsiminc1 and crmsiminc2 implement the continued reassessment method (CRM) for dose finding in Phase I clinical trials. The operating characteristics of CRM are summarized through simulations.

crmsim allows users to select a variety of cohort sizes. A cohort of subjects are treated at the same dose.

The cohort size is fixed to 1 in crmsiminc1 and crmsiminc2. crmsiminc1 implements an algorithm that allows a clinical trial to proceed to the next subject's dose assignment before observing the last subject's toxicity data. crmsiminc2 allows a clinical trial to proceed to the next subject's dose assignment before observing the last two subject's toxicity data (see Iasonos et al. for details).

Usage

crmsim(target,prior,true,rate,cycle,cohort=1,nsubject=24,nsim=1000,
       model=1,a0=1,b=3,jump=FALSE,start.dose=1,seed=777)
crmsiminc1(target,prior,true,rate,cycle,nsubject=24,nsim=1000,
           model=1,a0=1,b=3,jump=FALSE,start.dose=1,seed=777)
crmsiminc2(target,prior,true,rate,cycle,nsubject=24,nsim=1000,
           model=1,a0=1,b=3,jump=FALSE,start.dose=1,seed=777)

Arguments

target

Target probability of toxicity. The value must be in (0, 1).

prior

Prior probabilities of toxicity for each dose. The values must be in (0,1) and in an ascending order. For example, prior=c(0.05,0.1,0.2,0.3,0.5,0.7),which corresponds to dose levels 1, 2, 3, 4, 5 and 6,respectively.

true

True probabilities of toxicity. The values must be in (0,1) and in an ascending order. e.g. (0.1,0.2,0,3,0.4,0.5,0.8)

rate

Recruitment/accrual rate of subjects in a 30 window. For example,if 1 subject can be recruited per 30 days, then set rate = 1/30 = 0.033; if 2 patients per 30 day then rate = 2/30 = 0.0667.

cycle

The length of treatment cycle in days.

cohort

Cohort size of subjects entering into the trials. Default is 1. The value for cohort must be less than or equal to the value for nsubject.

nsubject

Total number of subjects in one simulation(or trial). Default is 24. nsubject should be equal to n*cohort,where n is positive integer.

nsim

Total number of simulations. Default is 1000.

model

Dose-toxicity model. The value must be 1 (hyperbolic tangent model) or 2 (one-parameter logistic model). Default is 1. Hyperbolic tangent model: $p(y=1|x,a) = ((tanh(x)+1)/2)^a$. One-parameter logistic model: $p(y=1|x,a,b) = exp(b+ax)/(1+exp(b+ax))$. For both models, y=1 indicates toxicity is observed; a is the parameter that can be updated based on the outcome of the trail; b is a fixed parameter. The prior for a is exp(-a).

a0

Initial value for parameter a. Default is 1.0.

b

A fixed parameter for the one-parameter logistic model. Default is 3.0.

jump

jump=FALSE means NOT allowing that the proposed dose by the CRM program has an increase of more than one level than the previous level; jump=TRUE means allowing more-than-one-level increase of the proposed dose by the CRM program.

start.dose

Initial dose for each trial. Default is 1.

seed

Seed for the random number generator. Default is 777.

Value

SimResult is a matrix that summarizes the operating characteristics of CRM. The column names are the dose levels. The row names are the operating characteristics.

% Selection

the percentage of selection of each dose as MTD

% Subjects Treated

the percentage of subjects treated at each dose

# Subjects Treated

the average number of subjects treated at each dose

Average Toxicities

the average toxicities per trial at each dose

True Probabilities

the true probability of toxicity of each dose

TrialDuration is a table that summarizes the time needed for the trial based on the simulation.

Author(s)

Qianxing Mo; [email protected]

References

John O'Quigley, Margaret Pepe,and Lloyd Fisher. (1990). Continual Reassessment Method: A Practical Design for Phase 1 Clinical Trials in Cancer. Biometrics, 46, pp.33-48

Alexia Iasonos,Andrew S Wilton,Elyn R Riedel,Venkatraman E Seshan and David R Spriggs. A comprehensive comparison of the continual reassessment method to the standard 3+3 dose escalation scheme in Phase I dose-finding studies. Clinical Trials,2008,nil:1-12

See Also

crm

Examples

prior1 <- c(0.05,0.1,0.2,0.3,0.5,0.7)
true1 <- c(0.1,0.15,0.2,0.4,0.5,0.8)

### simulations using model 1 (hyperbolic tangent model)

### uncomment the following code to run ###
#crmsim(target=0.2,prior=prior1,true=true1,rate=0.1,cycle=21,cohort=1,nsubject=24,nsim=1000,
#       model=1,a0=1,b=3,jump=FALSE,start.dose=1,seed=777)

#crmsiminc1(target=0.2,prior=prior1,true=true1,rate=0.1,cycle=21,nsubject=24,nsim=1000,
#           model=1,a0=1,b=3,jump=FALSE,start.dose=1,seed=777)

#crmsiminc2(target=0.2,prior=prior1,true=true1,rate=0.1,cycle=21,nsubject=24,nsim=1000,
#           model=1,a0=1,b=3,jump=FALSE,start.dose=1,seed=777)

# simulations using model 2 (one-parameter logistic model)
#crmsim(target=0.2,prior=prior1,true=true1,rate=0.1,cycle=21,cohort=1,nsubject=24,nsim=1000,
#       model=2,a0=1,b=3,jump=FALSE,start.dose=1,seed=777)

#crmsiminc1(target=0.2,prior=prior1,true=true1,rate=0.1,cycle=21,nsubject=24,nsim=1000,
#           model=2,a0=1,b=3,jump=FALSE,start.dose=1,seed=777)

#crmsiminc2(target=0.2,prior=prior1,true=true1,rate=0.1,cycle=21,nsubject=24,nsim=1000,
#           model=2,a0=1,b=3,jump=FALSE,start.dose=1,seed=777)