dtat1000: Precomputed neutrophil-guided chemotherapy dose titration for...

Description Format Details References Examples

Description

This dataset is provided to support fast reproduction of a forthcoming pharmacoeconomic paper that includes examination of the empirical distribution of MTDi in N=1000 simulated subjects.

Format

A data frame showing end-of-cycle state of neutrophil-guided dose titration for 1000 simulated subjects, across 10 cycles of chemotherapy.

cycle

Cycle number 1..10

id

Subject identifiers; an ordered factor with levels id1 < ... < id1000

Cc

Central-compartment drug concentration

Cp

Peripheral-compartment drug concentration

Prol

Progenitor cells in proliferating compartment of Friberg et al (2002) model

Tx.1

Transit compartment 1

Tx.2

Transit compartment 1

Tx.3

Transit compartment 1

Circ

Concentration (cells/mm^3) of circulating neutrophils

dose

Dose of 1-hour infusion administered this cycle

CircMin

Neutrophil nadir (cells/mm^3)

tNadir

Time (days) of neutrophil nadir

scaled.dose

Fourth root of dose

time

Time (weeks) of dose administration

Details

Running the examples interactively, you can verify the reproducibility of this dataset. (That demo is included in a donttest block to spare the CRAN servers.)

References

  1. Norris DC. Dose Titration Algorithm Tuning (DTAT) should supersede 'the' Maximum Tolerated Dose (MTD) in oncology dose-finding trials. F1000Research. 2017;6:112. doi:10.12688/f1000research.10624.3. https://f1000research.com/articles/6-112/v3

  2. Norris DC. Costing 'the' MTD. bioRxiv. August 2017:150821. doi:10.1101/150821. http://www.biorxiv.org/content/early/2017/08/22/150821

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
32
33
34
35
36
37
38
39
data(dtat1000)
# 1. Extract the N final doses, assuming convergence by the tenth course
MTD_i <- with(dtat1000, dose[time==27])
MTD_i <- MTD_i[MTD_i < 5000] # Exclude few outliers
# 2. Do a kernel density plot
library(rms)
hist <- histogram(~MTD_i, breaks=c(0,100,200,300,400,600,900,1500,2500,4000,5000)
                  , xlab=expression(MTD[i]))
approx <- data.frame(mtd_i=seq(0, 5000, 10))
approx <- upData(approx,
                 gamma = dgamma(mtd_i, shape=1.75, scale=200))
dist <- xyplot(gamma ~ mtd_i, data=approx, type='l', col='black', lwd=2)
library(grid)
hist + dist
grid.text(expression(MTD[i] %~%
                     paste("Gamma(", alpha==1.75, ", ", beta==1/200,")"))
         , x=unit(0.5,"npc")
         , y=unit(0.75,"npc")
         )

# Demonstrate exact reproduction of this data set (the titration takes many minutes!)
set.seed(2016)
Onoue.Friberg(N=1000)
# This titration may take an hour to run ...
chemo <- titrate(doserange = 100,
                 dta=newton.raphson(dose1 = 100,
                                    omega = 0.75,
                                    slope1 = -2.0,
                                    slopeU = -0.2)
)

dtat1k <- upData(chemo$course
                , time = 3*(cycle-1)
                , labels = c(time="Time")
                , units = c(time="weeks")
                , print = FALSE)

stopifnot(identical(dtat1k, dtat1000))
 # end 'donttest'

dcnorris/DTAT documentation built on May 7, 2019, 10:45 p.m.