Title: | Bayesian Accrual Prediction |
---|---|
Description: | Participant recruitment for medical research is challenging. Slow accrual leads to delays in research. Accrual monitoring during the process of recruitment is critical. Researchers need reliable tools to manage the accrual rate. We developed a Bayesian method that integrates the researcher's experience with previous trials and data from the current study, providing reliable predictions on accrual rate for clinical studies. For more details and background on these methodologies, see the publications of Byron, Stephen and Susan (2008) <doi:10.1002/sim.3128>, and Yu et al. (2015) <doi:10.1002/sim.6359>. In this R package, Bayesian accrual prediction functions are presented, which can be easily used by statisticians and clinical researchers. |
Authors: | Junhao Liu [aut, cre] (Maintainer), Yu Jiang [aut] (Original author), Cen Wu [aut], Steve Simon [aut], Matthew S. Mayo [aut], Rama Raghavan [aut], Byron J. Gajewski [aut] |
Maintainer: | Junhao Liu <[email protected]> |
License: | GPL-2 |
Version: | 1.4 |
Built: | 2024-10-22 06:24:14 UTC |
Source: | CRAN |
Participant recruitment for medical research is challenging. Slow accrual leads to delays in research. Accrual monitoring during the process of recruitment is critical. Researchers need reliable tools to manage the accrual rate. We developed a Bayesian method that integrates the researcher's experience with previous trials and data from the current study, providing reliable predictions on accrual rate for clinical studies. In this R package, we present functions for Bayesian accrual prediction which can be easily used by statisticians and clinical researchers.
Package: | accrual |
Type: | Package |
Version: | 1.4 |
Date: | 2023-11-23 |
License: | GPL-2 |
There are major eight functions in the package. The accrual.gui function provides the gui version.
Junhao Liu, Yu Jiang, Cen Wu, Steve Simon, Matthew S. Mayo, Rama Raghavan, Byron J. Gajewski
Maintainer: Junhao Liu <[email protected]>
[1] Byron J. Gajewski, Stephen D. Simon, Susan E. Carlson (2008). Predicting accrual in clinical trials with Bayesian posterior predictive distributions. Stat Med. 27(13):2328-40.
[2] Yu Jiang, Steve Simon, Matthew S. Mayo, Byron J. Gajewski (2015). Modeling and validating Bayesian accrual models on clinical data and simulations using adaptive priors. Statistics in medicine, 34(4), 613-629.
accrual.n.inform(n=300, T=36, P=0.5, m=100, tm=10, Tp=36) accrual.n.plot(n=300, T=36, P=0.5, m=100, tm=10, Tp=36, Method="Informative Prior") accrual.T.plot(n=300, T=36, P=0.5, m=100, tm=10, np=300, Method="Informative Prior") accrual.gui()
accrual.n.inform(n=300, T=36, P=0.5, m=100, tm=10, Tp=36) accrual.n.plot(n=300, T=36, P=0.5, m=100, tm=10, Tp=36, Method="Informative Prior") accrual.T.plot(n=300, T=36, P=0.5, m=100, tm=10, np=300, Method="Informative Prior") accrual.gui()
An accrual dataset example.
accrual.data
accrual.data
str(accrual.data) plot(accrual.data) accrual.plots(accrual.data)
str(accrual.data) plot(accrual.data) accrual.plots(accrual.data)
The Graphical User Interface (GUI) needs the information from the original design of protocol (e.g., total enrollment time proposed and total participants proposed) and the ongoing accrual data (e.g., enrollment time since start and number of participants enrolled). The Bayesian prediction model is implemented in the background of calculation.
accrual.gui()
accrual.gui()
There are no arguments for this function.
A list of prediction on number of participants that recruited in a fixed time frame or on time frame that needed for reaching a certain number of participants. A Single-center or Multi-center selection is available for number of participants prediction.
Junhao Liu, Yu Jiang, Cen Wu, Steve Simon, Matthew S. Mayo, Rama Raghavan, Byron J. Gajewski
accrual.gui()
accrual.gui()
Produce an output for prediction of the number of total participants will be recruited in a fixed time frame with Informative Prior for a multi-center trial.
accrual.multi.n(n,TT,P,J,Tm,Tsj,m,Tpred,all)
accrual.multi.n(n,TT,P,J,Tm,Tsj,m,Tpred,all)
n |
Target sample size |
TT |
Target completion time |
P |
The prior certainty, range 0-1 |
J |
The number of sites |
Tm |
Time to date |
Tsj |
The start date for each site |
m |
Sample observed to date for each site |
Tpred |
The specific time that want to predict the recruitment |
all |
Using all the sites (True/False) |
For a multi-center trial, a list of prediction on the number of total participants that will be recruited in a fixed time frame with Informative Prior.
Junhao Liu, Yu Jiang, Cen Wu, Steve Simon, Matthew S. Mayo, Rama Raghavan, Byron J. Gajewski
accrual.multi.n(n=300,TT=36,P=0.5,J=10,Tm=10,Tsj=c(0,0,0,0,0,0,0,0,0,0), m=c(9,10,10,10,11,11,11,12,12,12),Tpred=36,all=TRUE)[[1]]
accrual.multi.n(n=300,TT=36,P=0.5,J=10,Tm=10,Tsj=c(0,0,0,0,0,0,0,0,0,0), m=c(9,10,10,10,11,11,11,12,12,12),Tpred=36,all=TRUE)[[1]]
Produce an output for prediction of the number of participants will be recruited in a fixed time frame with Hedging Prior.
accrual.n.hedging(n, TT, m, tm, Tp)
accrual.n.hedging(n, TT, m, tm, Tp)
n |
Target sample size |
TT |
Target completion time |
m |
Sample observed to date |
tm |
Time to date |
Tp |
The specific time that want to predict the recruitment |
A list of prediction on the number of participants that will be recruited in a fixed time frame with Hedging Prior.
Junhao Liu, Yu Jiang, Cen Wu, Steve Simon, Matthew S. Mayo, Rama Raghavan, Byron J. Gajewski
accrual.n.hedging(n=300, TT=36, m=100, tm=10, Tp=36)[[1]]
accrual.n.hedging(n=300, TT=36, m=100, tm=10, Tp=36)[[1]]
Produce an output for prediction of the number of participants can be recruited in a fixed time frame with Informative Prior.
accrual.n.inform(n, TT, P, m, tm, Tp)
accrual.n.inform(n, TT, P, m, tm, Tp)
n |
Target sample size |
TT |
Target completion time |
P |
The prior certainty, range 0-1 |
m |
Sample observed to date |
tm |
Time to date |
Tp |
The specific time that want to predict the recruitment |
A list of prediction on the number of participants that will be recruited in a fixed time frame with Informative Prior.
Junhao Liu, Yu Jiang, Cen Wu, Steve Simon, Matthew S. Mayo, Rama Raghavan, Byron J. Gajewski
accrual.n.inform(n=300, TT=36, P=0.5, m=100, tm=10, Tp=36)[[1]]
accrual.n.inform(n=300, TT=36, P=0.5, m=100, tm=10, Tp=36)[[1]]
Produce a plot and output for prediction of the number of participants will be recruited in a fixed time frame.
accrual.n.plot(n, TT, P, m, tm, Tp, Method)
accrual.n.plot(n, TT, P, m, tm, Tp, Method)
n |
Target sample size |
TT |
Target completion time |
P |
The prior certainty, range 0-1; For Accelerated Prior, P = 1-m/n |
m |
Sample observed to date |
tm |
Time to date |
Tp |
The specific time that want to predict the recruitment |
Method |
Informative Prior, Accelerated Prior, Hedging Prior |
A list of prediction and corresponding plot on the number of participants that will be recruited in a fixed time frame.
Junhao Liu, Yu Jiang, Cen Wu, Steve Simon, Matthew S. Mayo, Rama Raghavan, Byron J. Gajewski
accrual.n.plot(n=300, TT=36, P=0.5, m=100, tm=10, Tp=36, Method="Informative Prior") accrual.n.plot(n=300, TT=36, m=100, tm=10, Tp=36, Method="Accelerated Prior") accrual.n.plot(n=300, TT=36, m=100, tm=10, Tp=36, Method="Hedging Prior")
accrual.n.plot(n=300, TT=36, P=0.5, m=100, tm=10, Tp=36, Method="Informative Prior") accrual.n.plot(n=300, TT=36, m=100, tm=10, Tp=36, Method="Accelerated Prior") accrual.n.plot(n=300, TT=36, m=100, tm=10, Tp=36, Method="Hedging Prior")
Produce a plot and output for prediction of the number of total participants for a multi-center trial will be recruited in a fixed time frame.
accrual.plot.multicenter(n,TT,P,J,Tm,Tsj,m,all)
accrual.plot.multicenter(n,TT,P,J,Tm,Tsj,m,all)
n |
Target sample size |
TT |
Target completion time |
P |
The prior certainty, range 0-1 |
J |
The number of sites |
Tm |
Time to date |
Tsj |
The start date for each site |
m |
Sample observed to date for each site |
all |
Using all the sites (True/False) |
For a multi-center trial, a list of prediction and corresponding plot on the number of total participants that will be recruited in a fixed time frame.
Junhao Liu, Yu Jiang, Cen Wu, Steve Simon, Matthew S. Mayo, Rama Raghavan, Byron J. Gajewski
accrual.plot.multicenter(n=300,TT=36,P=0.5,J=10,Tm=10,Tsj=c(0,0,0,0,0,0,0,0,0,0), m=c(9,10,10,10,11,11,11,12,12,12),all=TRUE)
accrual.plot.multicenter(n=300,TT=36,P=0.5,J=10,Tm=10,Tsj=c(0,0,0,0,0,0,0,0,0,0), m=c(9,10,10,10,11,11,11,12,12,12),all=TRUE)
The diagnostic panel shows four figures that help to understand the data distribution. The top-left figure is the exponential quantile plot, which checks whether the distribution of waiting times is exponential. The top-right figure is the histogram of the waiting times, with the red line is the theoretical exponential distribution. The figure of waiting time verse cumulative accrual time is shown on the bottom left. The figure of total accrual verse cumulative accrual time is shown on the bottom right.
accrual.plots(w)
accrual.plots(w)
w |
The accrual or waiting time dataset |
A set of figures on showing the data distribution of waiting time.
Junhao Liu, Yu Jiang, Cen Wu, Steve Simon, Matthew S. Mayo, Rama Raghavan, Byron J. Gajewski
accrual.plots(accrual.data)
accrual.plots(accrual.data)
Prediction of time frame with Hedging Prior for a certain number of participants.
accrual.T.hedging(n, TT, m, tm, np)
accrual.T.hedging(n, TT, m, tm, np)
n |
Target sample size |
TT |
Target completion time |
m |
Sample observed to date |
tm |
Time to date |
np |
The specific number of participants want to be predicted |
A list of prediction on time frame that needed for reaching a certain number of participants with Hedging Prior.
Junhao Liu, Yu Jiang, Cen Wu, Steve Simon, Matthew S. Mayo, Rama Raghavan, Byron J. Gajewski
accrual.T.hedging(n=300, TT=36, m=100, tm=10, np=300)[[1]]
accrual.T.hedging(n=300, TT=36, m=100, tm=10, np=300)[[1]]
Prediction of time frame with Informative Prior for a certain number of participants.
accrual.T.inform(n, TT, P, m, tm, np)
accrual.T.inform(n, TT, P, m, tm, np)
n |
Target sample size |
TT |
Target completion time |
P |
The prior certainty, range 0-1 |
m |
Sample observed to date |
tm |
Time to date |
np |
The specific number of participants want to be predicted |
A list of prediction on time frame that needed for reaching a certain number of participants with Informative Prior.
Junhao Liu, Yu Jiang, Cen Wu, Steve Simon, Matthew S. Mayo, Rama Raghavan, Byron J. Gajewski
accrual.T.inform(n=300, TT=36, P=0.5, m=100, tm=10, np=300)[[1]]
accrual.T.inform(n=300, TT=36, P=0.5, m=100, tm=10, np=300)[[1]]
Produce a plot and output for prediction of time frame for a certain number of participants.
accrual.T.plot(n, TT, P, m, tm, np, Method)
accrual.T.plot(n, TT, P, m, tm, np, Method)
n |
Target sample size |
TT |
Target completion time |
P |
The prior certainty, range 0-1; For Accelerated Prior, P = 1-m/n |
m |
Sample observed to date |
tm |
Time to date |
np |
The specific number of participants want to be predicted |
Method |
Informative Prior, Accelerated Prior, Hedging Prior |
A list of prediction and corresponding plot on time frame that needed for reaching a certain number of participants.
Junhao Liu, Yu Jiang, Cen Wu, Steve Simon, Matthew S. Mayo, Rama Raghavan, Byron J. Gajewski
accrual.T.plot(n=300, TT=36, P=0.5, m=100, tm=10, np=300, Method="Informative Prior") accrual.T.plot(n=300, TT=36, m=100, tm=10, np=300, Method="Accelerated Prior") accrual.T.plot(n=300, TT=36, m=100, tm=10, np=300, Method="Hedging Prior")
accrual.T.plot(n=300, TT=36, P=0.5, m=100, tm=10, np=300, Method="Informative Prior") accrual.T.plot(n=300, TT=36, m=100, tm=10, np=300, Method="Accelerated Prior") accrual.T.plot(n=300, TT=36, m=100, tm=10, np=300, Method="Hedging Prior")