RunPRMD: Implement a Multi-Stage Phase I Dose-Finding Design to...

Description Usage Arguments Details Value Examples

View source: R/RunPRMD.R

Description

A function to implement a Multi-Stage Phase I Dose-Finding Design to recommend dosage selection based on the data collected in the available patient cohorts. The available models include 1-stage model with/without individualized dose modification, 3-stage model with/without individualized dose modification, 3-stage model with individualized dose modification on stage II and 3-stage model with individualized dose modification on stage I and dose modification on stage II.

Usage

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
RunPRMD(
  seed = 1234,
  patlist,
  patID_act = NULL,
  cycle_act = NULL,
  dose_act = NULL,
  dlt_act = NULL,
  doses = 1:6,
  cycles = 1:6,
  tox.target = 0.28,
  p_tox1 = 0.2,
  p_tox2 = 0.2,
  trialSize = 36,
  chSize = 3,
  thrd1 = 0.28,
  thrd2 = 0.28,
  proxy.thrd = 0.1,
  param.ctrl = list(),
  n.iters = 10000,
  burn.in = 5000,
  thin = 2,
  n.chains = 1,
  effcy.flag = T,
  ICD.flag = T,
  DLT.drop.flag = T,
  testedD = T,
  IED.flag = T,
  ICD_thrd = 0.3
)

Arguments

seed

The seed of R's random number generator. Default is 1234

patlist

A list of the patient treatment records, which must contains the following variables:

PatID

denotes the patient ID where the elements are specified by cohort and subject number. For example, "cohort2subject3" denotes the third subject in the second cohort

dose

records the dose level assigned for each patient through the whole treatment

cycle

shows the treatment cycle information of each record

nTTP

records the corresponding nTTP score.

dlt

indicates whether a DLT event is observed or not?

efficacy

provides the continuous efficacy for each cycle. Required when effcy.flag == T. The range of efficacy is (0, 1), use -1 for missing efficacy response.

See patlist_sim for an example.

patID_act

A vector recording the patients' ID who need dose recommendation for next cycle. Default is NULL

cycle_act

A vector recording the current cycle of patID_act. Default is NULL

dose_act

A vector recording the current dose level of patID_act. Default is NULL

dlt_act

A vector indicating whether a dlt is observed in current cycle for current patients. Default is NULL

doses

A vector of doses that users are going to explore. Default is 1:6, where dose 1 through dose 6 are being tested.

cycles

A vector of cycles that the treatment plans to go through. Default is 1:6, where patients will experience up to 6 cycles of the treatment

tox.target

The target toxicity of the treatment. Default is 0.28. See details below.

p_tox1

The probability cutoff for cycle 1 toxicity. Default is 0.2. See details below.

p_tox2

The probability cutoff for later cycles toxicity beyond cycle 1. Default is 0.2. See Details below.

trialSize

The maximum sample size for trial simulation. Default is 36. Must be the multiple of cohort size (chSize).

chSize

The cohort size of patients recruited. Default is 3.

thrd1

An upper bound of toxicity for cycle 1 of the treatment. Default is 0.28. See Details below.

thrd2

An upper bound of toxicity for late cycles of the treatment, beyond cycle 1. Default is 0.28. See Details below

proxy.thrd

A distance parameter to define efficacious doses. Any dose whose predicted efficacy is within proxy.thrd away from the largest one among the safe doses will be declared an efficacious dose.

param.ctrl

A list specifying the prior distribution for the parameters.

p1_beta_intercept

the prior mean of intercept of toxicity model assuming a normal prior

p2_beta_intercept

the precision (inverse of variance) of intercept of toxicity model assuming a normal prior

p1_beta_cycle

the prior mean of cycle effect of toxicity model assuming a normal prior

p2_beta_cycle

the precision (inverse of variance) of cycle effect of toxicity model assuming a normal prior

p1_beta_dose

the prior minimum of dose effect of toxicity model assuming a uniform prior

p2_beta_dose

the prior maximum of dose effect of toxicity model assuming a uniform prior

p1_alpha

the prior mean vector of the parameters from efficacy model assuming a multivariate normal prior

p2_alpha

the prior precision matrix (inverse of covariance matrix) of the parameters from efficacy model assuming a multivariate normal prior

p1_gamma0

the prior mean of association parameter γ (See Du et al(2017)) of two submodels of the joint model assuming a normal prior

p2_gamma0

the prior precision (inverse of variance) of association parameter γ of two submodels of the joint model assuming a normal prior.

Default is non-informative priors.

n.iters

Total number of MCMC simulations. Default is 10,000.

burn.in

Number of burn=ins in the MCMC simulation. Default is 5,000.

thin

Thinning parameter. Default is 2.

n.chains

No. of MCMC chains in Bayesian model fitting. Default is 1. Will check the convergence of MCMC chains by the potential scale reduction factor (PSRF) when n.chains > 1.

effcy.flag

Whether efficacy data is modeled in the model fitting or not. Default is TRUE.

ICD.flag

Whether we allow individualized dose modification in stage 1 model or not? Default is TRUE. See details below

DLT.drop.flag

Whether the patients should suspend the treatment when observing DLT. Default is TRUE.

testedD

Default is TRUE. Whether we only allow ICD or IED to be less than or equal to the maximum dose tested in first cycle.

IED.flag

Default is TRUE. Whether we allow dose changing for cycle > 1 in stage 2 model or not?

ICD_thrd

The cut-off point of the posterior toxicity probability in defining ICD. Default is 0.3. See details below.

Details

The RunPRMD function implement a Multi-Stage Phase I Dose–Finding Design to recommend dosage selection based on the data collected in the available patient cohorts. The function will automatically identify the model and the stage based on all flags and the records. For the details of argument tox.target, p_tox1, p_tox2, thrd1, thrd2 and ICD_thrd, please check the help document of SimPRMD.

Value

patlist

The input data patlist

doseA

The recommended dose level for cycle 1 for new cohorts

pat_rec

The recommended dose for current patients for next cycle

effcy.flag

The input argument effcy.flag

doses

The input argument doses

cycles

The input argument cycles

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
data("patlist_sim")
# check the whole dataset by function patlist.display
patlist.display(patlist_sim, n.dose = 6, n.cycle = 6)

# When we pick the records before 6th cohort enrolled in the study
L <- length(patlist_sim$PatID)
patlist <- lapply(patlist_sim, function(a){a <- a[-(44:L)]})
patlist.display(patlist, n.dose = 6, n.cycle = 6)

#The table shows the current patient in the trial. Now record the active
#patient ID and records as follows

patID_act <- c("cohort1subject1", "cohort1subject2", "cohort1subject3",
               "cohort2subject1", "cohort2subject2", "cohort2subject3",
               "cohort3subject2", "cohort3subject3",
               "cohort4subject1", "cohort4subject2", "cohort4subject3",
               "cohort5subject1", "cohort5subject2", "cohort5subject3")
cycle_act <- c(5, 5, 5, 4, 4, 4, 3, 3, 2, 2, 2, 1, 1 ,1)
dose_act <- c(3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4)
dlt_act <- c(0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0)


test <- RunPRMD(patlist = patlist, patID_act = patID_act,
                cycle_act = cycle_act, dose_act = dose_act,
                dlt_act = dlt_act, trialSize = 36, chSize = 3,
                effcy.flag = TRUE, ICD.flag = TRUE, DLT.drop.flag = TRUE,
                IED.flag = TRUE, ICD_thrd = 0.3)

summary(test)
plot(test)
plot(test, select_cycle = 1:2)

LuZhangstat/phase1PRMD documentation built on March 14, 2020, 6:54 a.m.