Title: | Duration Estimation for Biomarker Enrichment Studies and Trials |
---|---|
Description: | A general framework using mixture Weibull distributions to accurately predict biomarker-guided trial duration accounting for heterogeneous population. Extensive simulations are performed to evaluate the impact of heterogeneous population and the dynamics of biomarker characteristics and disease on the study duration. Several influential parameters including median survival time, enrollment rate, biomarker prevalence and effect size are identified. Efficiency gains of biomarker-guided trials can be quantitatively compared to the traditional all-comers design. For reference, see Zhang et al. (2024) <arXiv:2401.00540>. |
Authors: | Hong Zhang [aut, cre] |
Maintainer: | Hong Zhang <[email protected]> |
License: | GPL-2 |
Version: | 0.1.0 |
Built: | 2024-12-24 03:43:22 UTC |
Source: | https://github.com/cran/debest |
Calculate the study duration based on Weibull distributions.
calcDuration( d, n, proportion, SHAPEV, SCALEV, LAMW, A, BETA, conf.level = 0.9, nsim = 10000 )
calcDuration( d, n, proportion, SHAPEV, SCALEV, LAMW, A, BETA, conf.level = 0.9, nsim = 10000 )
d |
- scalar, target number of events. |
n |
- scalar, sample size. |
proportion |
- vector of percentages of the subgroup. |
SHAPEV |
- vector of shape parameters of Weibull survival distributions of the subgroups. |
SCALEV |
- vector of scale parameters of Weibull survival distributions of the subgroups. |
LAMW |
- vector of exponential drop-out distribution parameters of the subgroups. |
A |
- vector of enrollment durations of the subgroups. |
BETA |
- vector of beta distribution parameters of the subgroups. |
conf.level |
- scalar, confidence level, default 0.9. |
nsim |
- scalar, number of repetitions, default 1e4. |
study duration estimate, d_med, and the confidence interval (d_lower, d_upper), as well as all the realizations, Z_d, of the study duration from the simulation.
Hong Zhang, Jie Pu, Shibing Deng, Satrajit Roychoudhury, Haitao Chu and Douglas Robinson. "Study Duration Prediction for Clinical Trials with Time-to-Event Endpoints Using Mixture Distributions Accounting for Heterogeneous Population", arXiv:2401.00540.
res_weibull = getWeilbull(dat_udca) res_beta = getBeta(as.numeric(dat_udca$entry.dt)) prop = c(table(dat_udca$group)/length(dat_udca$group)) SHAPEV = res_weibull$shape SCALEV = res_weibull$scale LAMW = rep(-log(1 - 0.1)/6, 4) A = rep(res_beta$a/30.416, 4) # convert days to months BETA = rep(res_beta$b_Mean, 4) myres1 = calcDuration(d=50, n=169, proportion=prop, SHAPEV, SCALEV, LAMW=LAMW, A, BETA) c(myres1$d_lower, myres1$d_med, myres1$d_upper) # drop-out will make the target number of events not achievable myres2 = calcDuration(d=80, n=169, proportion=prop, SHAPEV, SCALEV, LAMW=LAMW, A, BETA) c(myres2$d_lower, myres2$d_med, myres2$d_upper) # If there is no drop-out myres3 = calcDuration(d=80, n=169, proportion=prop, SHAPEV, SCALEV, LAMW=rep(0, 4), A, BETA) c(myres3$d_lower, myres3$d_med, myres3$d_upper)
res_weibull = getWeilbull(dat_udca) res_beta = getBeta(as.numeric(dat_udca$entry.dt)) prop = c(table(dat_udca$group)/length(dat_udca$group)) SHAPEV = res_weibull$shape SCALEV = res_weibull$scale LAMW = rep(-log(1 - 0.1)/6, 4) A = rep(res_beta$a/30.416, 4) # convert days to months BETA = rep(res_beta$b_Mean, 4) myres1 = calcDuration(d=50, n=169, proportion=prop, SHAPEV, SCALEV, LAMW=LAMW, A, BETA) c(myres1$d_lower, myres1$d_med, myres1$d_upper) # drop-out will make the target number of events not achievable myres2 = calcDuration(d=80, n=169, proportion=prop, SHAPEV, SCALEV, LAMW=LAMW, A, BETA) c(myres2$d_lower, myres2$d_med, myres2$d_upper) # If there is no drop-out myres3 = calcDuration(d=80, n=169, proportion=prop, SHAPEV, SCALEV, LAMW=rep(0, 4), A, BETA) c(myres3$d_lower, myres3$d_med, myres3$d_upper)
dat_udca is derived from the udca data from the R survival package with biomarker variables defined as the baseline bilirubin level > 1.
dat_udca
dat_udca
A data frame with 169 rows and 12 variables:
subject id
treatment assignment
disease stage
bilirubin level
disease risk score
follow up time in days
event indicator
follow up time in months
enrollment date
last visit date
biomarker positive indicator (bili>1)
subgroup indicator. 1 : trt=0&BMpos=FALSE; 2 : trt=1&BMpos=FALSE; 3 : trt=0&BMpos=TRUE; 4 : trt=1&BMpos=TRUE.
udca data from the R survival package. https://CRAN.R-project.org/package=survival
data("dat_udca")
data("dat_udca")
Estimate parameters of the distribution of a*Beta(1, b) .
getBeta(x)
getBeta(x)
x |
- vector of real positive numbers. |
estimates of a and b. For a, it is the range of x. For b, two estimates are provided: the MLE, and the method of moment (matching mean).
Hong Zhang, Jie Pu, Shibing Deng, Satrajit Roychoudhury, Haitao Chu and Douglas Robinson. "Study Duration Prediction for Clinical Trials with Time-to-Event Endpoints Using Mixture Distributions Accounting for Heterogeneous Population", arXiv:2401.00540.
getBeta(as.numeric(dat_udca$entry.dt))
getBeta(as.numeric(dat_udca$entry.dt))
Estimate parameters of the Weibull survival distributions for each subgroup.
getWeilbull(dat)
getWeilbull(dat)
dat |
- data frame of three columns: 1) time: follow up time; 2) status: indicator, 0=no event, 1=event; 3) group, integer 1,...,n, for each subgroup of patients. |
shape and scale parameters of the Weibull distribution for each subgroup.
Hong Zhang, Jie Pu, Shibing Deng, Satrajit Roychoudhury, Haitao Chu and Douglas Robinson. "Study Duration Prediction for Clinical Trials with Time-to-Event Endpoints Using Mixture Distributions Accounting for Heterogeneous Population", arXiv:2401.00540.
# dat_udca already has time, status and group columns defined, getWeilbull(dat_udca)
# dat_udca already has time, status and group columns defined, getWeilbull(dat_udca)