efficacy_est {crm12Comb}R Documentation

Efficacy estimation

Description

Estimate efficacy using Bayesian inference for each enrolled patient or cohort of patients given the current accumulated data and toxicity estimation.

Usage

efficacy_est(Dat, AR, I, K, K_prob, efficacy_skeleton, Nphase,
             model, para_prior,
             theta_mean, theta_sd, theta_intcpt_lgst1, theta_shape, theta_inverse_scale,
             alphaT_mean, alphaT_sd, alphaT_shape, alphaT_inverse_scale,
             seed=NULL, seed_rand=NULL, seed_max=NULL)

Arguments

Dat

A data frame for current data with three columns (DoseLevel, DLT and ORR).

AR

A vector for acceptable set.

I

Number of dose combinations.

K

Number of efficacy orderings.

K_prob

A vector of length K denoting prior probabilities of efficacy orderings (sum is 1).

efficacy_skeleton

A list of vector with length K containing efficacy orderings.

Nphase

Number of patients for determination of randomization phase (current number of patients less than Nphase) or maximization phase (current number of patients larger than or equal to Nphase).

model

A character string to specify the model used, must be one of "empiric", "tanh", "logistic" or "logistic2".

para_prior

A character string to specify the prior distribution used for parameters, must be one of "normal" or "gamma" (when model is either "empiric" or "logistic" or "logistic2") or "exponential" (when model is "tanh").

theta_mean

The mean of parameter used when prior="exponential" or "normal", otherwise need to specify NULL.

theta_sd

The standard deviation of parameter used when prior="normal", otherwise need to specify NULL.

theta_intcpt_lgst1

A constant value of intercept from a one-parameter logistic model only used when model="logistic" (suggested value is 3), otherwise need to specify NULL.

theta_shape

The shape parameter used when prior="gamma", otherwise need to specify NULL.

theta_inverse_scale

The scale parameter used when prior="gamma", otherwise need to specify NULL.

alphaT_mean

The mean of intercept parameter of two-parameter logistic model only used when model="logistic2" and prior="normal", otherwise need to specify NULL.

alphaT_sd

The standard deviation of intercept parameter of two-parameter logistic model only used when model="logistic2" and prior="normal", otherwise need to specify NULL.

alphaT_shape

The shape parameter of intercept parameter from a two-parameter logistic model only used when model="logistic2" and prior="gamma", otherwise need to specify NULL.

alphaT_inverse_scale

The scale parameter of intercept parameter from a two-parameter logistic model only used when model="logistic2" and prior="gamma", otherwise need to specify NULL.

seed

An integer for the seed to generate random numbers used for equal ordering prior probabilities, default is NULL.

seed_rand

An integer for the seed to generate random numbers used in randomization phase, default is NULL.

seed_max

An integer for the seed to generate random numbers used in maximization phase, default is NULL.

Details

The efficacy estimation is based on Bayesian framework by calculating the likelihood function under each orderings, and select the ordering with maximum posterior probability. Then, estimated parameters can be obtained, which will be used for efficacy estimation based on the corresponding link function (specified in model statement).

Value

A list is returned containing the following components:

di

Number of dose level for next enrolled patient or cohort of patients

K_prob

A vector for posterier density of efficacy orderings and will be used as prior information for next enrolled patient or cohort of patients.

References

Wages, N. A., & Conaway, M. R. (2014). Phase I/II adaptive design for drug combination oncology trials. Statistics in medicine, 33(12), 1990-2003. doi:10.1002/sim.6097

See Also

priorSkeletons, get_ordering, toxicity_est, randomization_phase, maximization_phase

Examples

### follow same steps as the example in function toxicity_est()
# Generate a data including 3 columns: DoseLevel, DLT, ORR (DLT and ORR are binary outcomes)
currDat <- data.frame(sample(1:9, 6, replace=TRUE), rbinom(6, 1, 0.2), rbinom(6, 1, 0.5))
names(currDat) <- c("DoseLevel", "DLT", "ORR")

# Generate toxicity and efficacy skeleton
DLT_skeleton_p <- priorSkeletons(updelta = 0.045, target = 0.3, npos= 5, ndose = 9,
                                 model = "logistic", prior = "normal", beta_mean = 0, a0 = 3)
eff_skeleton_p <- priorSkeletons(updelta = 0.045, target = 0.5, npos= 5, ndose = 9,
                                 model = "logistic", prior = "normal", beta_mean = 0, a0 = 3)

# Obtain 6 complete orderings for toxicity skeleton and efficacy skeleton
orderings <- get_ordering(doseComb_forMat=c(3,3), type_forMat="matrix")
DLT_skeleton_l <- lapply(orderings, function(or){DLT_skeleton_p[or]})
eff_skeleton_l <- lapply(orderings, function(or){eff_skeleton_p[or]})

# estimate toxicity
tox <- toxicity_est(Dat=currDat, I=9, M=6, M_prob=rep(1/6, 6),
                    DLT_skeleton=DLT_skeleton_l, DLT_thresh=0.33,
                    model="logistic", para_prior="normal",
                    beta_mean=0, beta_sd=1, intcpt_lgst1=3,
                    beta_shape=NULL, beta_inverse_scale=NULL,
                    alpha_mean=NULL, alpha_sd=NULL,
                    alpha_shape=NULL, alpha_inverse_scale=NULL,
                    seed=42)

### efficacy estimation
eff <- efficacy_est(Dat=currDat, AR=tox$AR, I=9, K=6, K_prob=rep(1/6, 6),
                    efficacy_skeleton=eff_skeleton_l, Nphas=20,
                    model="logistic", para_prior="normal",
                    theta_mean=0, theta_sd=1, theta_intcpt_lgst1=3,
                    theta_shape=NULL, theta_inverse_scale=NULL,
                    alphaT_mean=NULL, alphaT_sd=NULL,
                    alphaT_shape=NULL, alphaT_inverse_scale=NULL,
                    seed=1, seed_rand=2, seed_max=3)

[Package crm12Comb version 0.1.6 Index]