Type: | Package |
Title: | Seamless Adaptive Multi-Arm Multi-Stage Enrichment |
Version: | 0.1.0 |
Maintainer: | Chengxue Zhong <czhong9106@gmail.com> |
Description: | Design a Bayesian seamless multi-arm biomarker-enriched phase II/III design with the survival endpoint with allowing sample size re-estimation. James M S Wason, Jean E Abraham, Richard D Baird, Ioannis Gournaris, Anne-Laure Vallier, James D Brenton, Helena M Earl, Adrian P Mander (2015) <doi:10.1038/bjc.2015.278>. Guosheng Yin, Nan Chen, J. Jack Lee (2018) <doi:10.1007/s12561-017-9199-7>. Ying Yuan, Beibei Guo, Mark Munsell, Karen Lu, Amir Jazaeri (2016) <doi:10.1002/sim.6971>. |
License: | GPL-2 |
Encoding: | UTF-8 |
LazyData: | true |
RoxygenNote: | 7.2.1 |
Imports: | boot, rjags, coda, extraDistr, survival, ggplot2, expint |
Suggests: | testthat, mockery, knitr, rmarkdown |
Depends: | R (≥ 3.3.0) |
NeedsCompilation: | no |
Packaged: | 2023-01-13 14:24:41 UTC; alexz |
Author: | Chengxue Zhong [aut, cre], Haitao Pan [aut], Hongyu Miao [aut] |
Repository: | CRAN |
Date/Publication: | 2023-01-16 10:10:08 UTC |
Function to identify the most promising treatment-biomarker-linked subgroup
Description
This function is used to estimate the effect size of each subgroup and to select the most promising subgroup.
Usage
conduct.phase2(formula, surv, event, data)
Arguments
formula |
a formula object, with the combinations of treatment and biomarker term, e.g., formula = "T1:B1+T1:B2+T2:B1+T2:B2" |
surv |
survival time |
event |
the status indicator, 0=alive, 1=dead |
data |
a data.frame in which to interpret the variables named in the formula |
Value
conduct.phase2() select the most effective subgroup and returns the estimated hazard ratio.
Examples
conduct.phase2(formula = "T1:B1+T1:B2+T2:B1+T2:B2", surv = "surv",
event = "death", data = "example.1")
Function to estimate the hazard ratios and other statistics of the selected subgroup
Description
This function is used to estimate the effect size of the selected subgroup.
Usage
conduct.phase3(data, eta, theta)
Arguments
data |
a data.frame in which to interpret the variables named in the formula |
eta |
a cutoff probability for the strength of evidence for decision-making |
theta |
a clinically meaningful treatment effect size defined by clinicians |
Value
conduct.phase3()
Examples
conduct.phase3(example.2,eta=0.8, theta=0.95)
A Time-to-event dataset containing the time and other attributes of 643 patients.
Description
A Time-to-event dataset containing the time and other attributes of 643 patients.
Usage
example.1
Format
A data frame with 643 rows and 6 variables:
- T1
binary variable, receive treatment 1=1, not receive treatment 1=0
- T2
binary variable, receive treatment 2=1, not receive treatment 2=0
- B1
binary variable, biomarker 1 positive=1, biomarker 1 negative=0
- B2
binary variable, biomarker 2 positive=1, biomarker 2 negative=0
- death
the status indicator, alive=0, dead=1
- surv
survival time or follow up time
...
A Time-to-event dataset containing the time and other attributes of 643 patients.
Description
A Time-to-event dataset containing the time and other attributes of 643 patients.
Usage
example.2
Format
A data frame with 643 rows and 6 variables:
- T1
binary variable, receive treatment 1=1, not receive treatment 1=0
- T2
binary variable, receive treatment 2=1, not receive treatment 2=0
- B1
binary variable, biomarker 1 positive=1, biomarker 1 negative=0
- B2
binary variable, biomarker 2 positive=1, biomarker 2 negative=0
- death
the status indicator, alive=0, dead=1
- surv
survival time or follow up time
- survtime
survival time or follow up time
- treatments
categorical vairable, indicating treatments received
...
Function to calibrate the cutoff points under null hypothesis
Description
This function is used to calibrate the cutoff points under null hypothesis using a multi-arm multi-stage biomarker-enriched design with time-to-event endpoints.
Usage
find.cutoffs(
median.c,
K,
L,
lfu,
alpha,
power,
accrate,
theta,
bio.preva,
FAtime.phase3,
N.iter
)
Arguments
median.c |
The median survival time for control group |
K |
Number of biomarkers |
L |
Information fraction in terms of the accumulative events in phase II stage, e.g., K = c(1/4,1/2,1) |
lfu |
Follow-up time |
alpha |
One-sided familywise error rate |
power |
Power |
accrate |
Accrual rate |
theta |
A clinically meaningful treatment effect size defined by clinicians |
bio.preva |
Prevalence of biomarker(s) |
FAtime.phase3 |
the study ending time of phase III |
N.iter |
Number of iterations |
Value
find.cutoffs() returns the calibrated cutoff points that can control the type I error rate.
Examples
find.cutoffs(median.c=12,K=2,L=c(1/4,1/2,1),lfu=0,alpha=0.05,power=0.9,
accrate=15,theta=log(1.25),bio.preva=c(0.4,0.6),FAtime.phase3=48,
N.iter=3)
Function to simulate Bayesian seamless multi-arm biomarker-enriched phase II/III designs
Description
This function finds the required number of events using a multi-arm multi-stage biomarker-enriched design with time-to-event endpoints.
Usage
sim.trial(
median.c,
hr,
K,
L,
lfu,
alpha,
power,
accrate,
theta,
bio.preva,
FAtime.phase3,
N.iter
)
Arguments
median.c |
The median survival time for control group |
hr |
Alternative hazard ratio |
K |
Number of biomarkers |
L |
Information fraction in terms of the accumulative events in phase II stage, e.g., K = c(1/4,1/2,1) |
lfu |
Follow-up time |
alpha |
One-sided familywise error rate |
power |
Power |
accrate |
Accrual rate |
theta |
A clinically meaningful treatment effect size defined by clinicians |
bio.preva |
Prevalence of biomarker(s) |
FAtime.phase3 |
the study ending time of phase III |
N.iter |
Number of iterations |
Value
sim_trial() returns the nominal type I error rate and calibrated cutoff points, nominal power under user-defined hypothesis, empirical power under user-defined number of simulations, the duration of trial(time), the number of events (num_evs), the number of patients (num_pts) from different stages. The function can also display the number of events and patients under the selected subgroup, the distribution of decision zones and the estimated hazard ratio for the final analysis.
Examples
sim.trial(median.c=12,hr=c(1,1,1,0.6),K=2,L=c(1/4,1/2,1),lfu=0,
alpha=0.05,power=0.9,accrate=15,theta=log(1.25),
bio.preva=c(0.4,0.6),FAtime.phase3=48,N.iter=5)
Function to simulate Bayesian seamless multi-arm biomarker-enriched phase II/III designs with user-defined cutoff points
Description
This function finds the required number of events using a multi-arm multi-stage biomarker-enriched design with time-to-event endpoints with the user-defined cutoff points.
Usage
sim.trial.2(
median.c,
hr,
K,
L,
lfu,
alpha,
power,
accrate,
theta,
bio.preva,
FAtime.phase3,
eta,
futility,
superiority,
N.iter
)
Arguments
median.c |
The median survival time for control group |
hr |
Alternative hazard ratio |
K |
Number of biomarkers |
L |
Information fraction in terms of the accumulative events in phase II stage, e.g., K = c(1/4,1/2,1) |
lfu |
Follow-up time |
alpha |
One-sided family-wise error rate |
power |
Power |
accrate |
Accrual rate |
theta |
A clinically meaningful treatment effect size defined by clinicians |
bio.preva |
Prevalence of biomarker(s) |
FAtime.phase3 |
the study ending time of phase III |
eta |
A cutoff probability for the strength of evidence for decision-making and defined by user. |
futility |
cutoff point for futility termination |
superiority |
cutoff point for superiority termination |
N.iter |
Number of iterations |
Value
sim.trial.2() returns the nominal type I error rate, nominal power under user-defined hypothesis, empirical power under user-defined number of simulations, the duration of trial(time), the number of events (num_evs), the number of patients (num_pts) from different stages. The function can also display the number of events and patients under the selected subgroup, the distribution of decision zones and the estimated hazard ratio for the final analysis.
Examples
sim.trial.2(median.c=12,hr=c(1,1,1,0.6),K=2,L=c(1/4,1/2,1),lfu=0,alpha=0.05,
power=0.9,accrate=15,theta=log(1.25),bio.preva=c(0.4,0.6),
FAtime.phase3=48,eta=0.2,futility=0.1,superiority=0.9,
N.iter=3)