succ_ia {LongCART} | R Documentation |
Conditional power and predictive power of success based on interim results using normal-normal approximation
Description
This function can be used to determine conditional power and predictive power for trial success and clinical success based on the interim results and prior distribution for each of continuous, binary and time-to-event endpoints. The calculation is carried out assuming normal distribution for estimated parameter and normal prior distribution.
Usage
succ_ia(type, nsamples, null.value = NULL, alternative = NULL,
N = NULL, n = NULL, D = NULL, d = NULL, a = 1,
meandiff.ia = NULL, mean.ia = NULL,
propdiff.ia = NULL, prop.ia = NULL, hr.ia = NULL,
stderr.ia = NULL, sd.ia = NULL,
succ.crit = "trial", Z.crit.final = 1.96,
alpha.final = 0.025, clin.succ.threshold = NULL,
meandiff.exp = NULL, mean.exp = NULL,
propdiff.exp = NULL, prop.exp = NULL, hr.exp = NULL,
meandiff.prior = NULL, mean.prior = NULL, sd.prior = NULL,
propdiff.prior = NULL, prop.prior = NULL, hr.prior = NULL, D.prior = NULL)
Arguments
type |
Type of the endpoint. It could be |
nsamples |
Number of samples. For continuous and binary case, it can be 1 or 2. For survival endpoint, it can be only 2. |
null.value |
The specified value under null hypothesis. Default is 0 for continuous and binomial case and 1 for survival case. |
alternative |
Direction of alternate hypothesis. Can be "greater" or "less". Default is "less" for test of HR and "greater" otherwise. |
N |
Total sample size at final analysis. Cannot be missing for continuous and binary endpoint. |
n |
Total sample size at interim analysis. Cannot be missing for continuous and binary endpoint. |
D |
Total number of events at final analysis. Cannot be missing for survival endpoint. |
d |
Total number of events at interim analysis. Cannot be missing for survival endpoint. |
a |
Allocation ratio in two sample case. |
meandiff.ia |
Estimated mean difference at interim analysis. Mandatory for continuous two sample case. |
mean.ia |
Estimated mean value at interim analysis. Mandatory for continuous single sample case |
propdiff.ia |
Estimated difference in proportion at interim analysis. Mandatory for binary two sample case |
prop.ia |
Estimated proportion at interim analysis. Mandatory for binary single sample case |
hr.ia |
Estimate hazards ratio (HR) at interim analysis. Mandatory for continuous single sample case |
stderr.ia |
Standard error (SE) of estimated mean difference (in one-sample continuous case) or estimated mean (in two-sample continuous case) or estimated difference in proportion (in two-sample binary case) at interim analysis. For continuous case, if not specified, then the function attempts to estimate SE from |
sd.ia |
Standard deviation of estimated mean difference (in one-sample continuous case) or estimated mean (in two-sample continuous case) at interim analysis. If |
succ.crit |
Specify "trial" for trial success (i.e., null hypothesis is rejected at final analysis) or "clinical" for clinical success (i.e., estimated value at the final analysis is greater than clinically meaningful value as specified under |
Z.crit.final |
The rejection boundary at final analysis in Z-value scale. Either |
alpha.final |
The rejection boundary at final analysis in alpha (1-sided) scale (e.g., 0.025). Either |
clin.succ.threshold |
Clinically meaningful value. Required when |
meandiff.exp |
Expected mean difference in post interim data. Relevant for two-sample continuous case. |
mean.exp |
Expected mean in post interim data. Relevant for one-sample continuous case. |
propdiff.exp |
Expected difference in proportion in post interim data. Relevant for two-sample binary case. |
prop.exp |
Expected proportion in post interim data. Relevant for one-sample binary case. |
hr.exp |
Expected hazards ratio (HR) in post interim data. Relevant for two-sample survival case. |
meandiff.prior |
Mean value of prior distribution for mean difference. Relevant for two-sample continuous case. |
mean.prior |
Mean value of prior distribution for mean. Relevant for one-sample continuous case. |
sd.prior |
Standard deviation of prior distribution for mean difference (2-sample continuous case) or mean (1-sample continuous case) or prop (2-sample binary case) or difference of proportion (1-sample binary case) or log(HR) (2 sample survival case). |
propdiff.prior |
Mean value of prior distribution for difference in proportion. Relevant for two-sample binomial case. |
prop.prior |
Mean value of prior distribution for proportion. Relevant for one-sample binomial case. |
hr.prior |
Mean value of prior distribution for hazards ratio (HR). Relevant for two-sample survival case. |
D.prior |
Ignored if |
Details
This function can be used to determine Conditional power (CP) and Predictive power or predictive probability of success (PPoS) based on the interim results for each of continuous (one-sample or two-samples), binary (one-sample or two-samples) and time-to-event endpoints (two-samples). The PPoS can be based on interim results only or using both prior information and interim results. The calculation of CP and PPoS are carried out assuming normal distribution for estimated parameter and normal prior distribution. This function can be used to determine clinical success (succ.crit="clinical"
) and trial success (succ.crit="trial"
). For clinical success, clin.succ.threshold
must be specified. For trial success, Z.crit.final or alpha.final
must be specified.
In order to calculate CP and PPoS, succ.ia()
should be invoked in the following form:
Continuous-two sample case (trial success):
succ.ia(type="cont", nsamples=2, null.value=, alternative=, N=, n=, a, meandiff.ia, stderr.ia=, succ.crit="trial", Z.crit.final=)
Continuous-two sample case (clinical success):
succ.ia(type="cont", nsamples=2, null.value=, alternative=, N=, n=, a, meandiff.ia, stderr.ia=, succ.crit="clinical", clin.succ.threshold=)
Continuous-one sample case (trial success):
succ.ia(type="cont", nsamples=1, null.value=, alternative=, N=, n=, mean.ia, stderr.ia=, succ.crit="trial", Z.crit.final=)
Continuous-one sample case (clinical success):
succ.ia(type="cont", nsamples=1, null.value=, alternative=, N=, n=, mean.ia, stderr.ia=, succ.crit="clinical", clin.succ.threshold=)
Binary-two sample case (trial success):
succ.ia(type="bin", nsamples=2, null.value=, alternative=, N=, n=, a, propdiff.ia, stderr.ia=, succ.crit="trial", Z.crit.final=)
Binary-two sample case (clinical success):
succ.ia(type="bin", nsamples=2, null.value=, alternative=, N=, n=, a, propdiff.ia, stderr.ia=, succ.crit="clinical", clin.succ.threshold=)
Binary-one sample case (trial success):
succ.ia(type="bin", nsamples=1, null.value=, alternative=, N=, n=, prop.ia, succ.crit="trial", Z.crit.final=)
Binary-one sample case (clinical success):
succ.ia(type="bin", nsamples=1, null.value=, alternative=, N=, n=, prop.ia, succ.crit="clinical", clin.succ.threshold=)
Survival-two sample case (trial success):
succ.ia(type="surv", nsamples=2, null.value=, alternative=, D=, d=, a, hr.ia, succ.crit="trial", Z.crit.final=)
Survival-two sample case (clinical success):
succ.ia(type="surv", nsamples=2, null.value=, alternative=, D=, d=, a, hr.ia, succ.crit="clinical", clin.succ.threshold=)
The conditional power is calculated assuming interim trend for post-interim data. If meandiff.exp
(for continuous 2-samples case), mean.exp
(for continuous 1-sample case), propdiff.exp
(for binomial 2-samples case), prop.exp
(for binomial 1-sample case), or hr.exp
(for survival 2-samples case) is specified, then conditional power would be calculated using these specified value as well.
The Predictive power or Predictive probability of success (PPoS) is calculated based interim results. On top of this, it can also incorporate prior information. The prior information can be specified as follows: If meandiff.prior, sd.prior
for continuous 2-samples case, mean.prior, sd.prior
for continuous 1-sample case, propdiff.prior, sd.prior
for binomial 2-samples case, prop.prior, sd.prior
for binomial 1-sample case, and hr.exp, sd.prior
(or, hr.exp, D.prior
) for survival 2-samples case.
Author(s)
Madan Gopal Kundu <madan_g.kundu@yahoo.com>
References
Kundu, M. G., Samanta, S., and Mondal, S. (2021). An introduction to the determination of the probability of a successful trial: Frequentist and Bayesian approaches. arXiv preprint arXiv:2102.13550.
See Also
succ_ia_betabinom_one
, succ_ia_betabinom_two
, PoS
Examples
#--- Lan et al. (2009), see #6. Example, outcome: Matching
succ_ia(type="cont", nsamples=1, null.value=0, alternative="greater",
N=225, n=45,
mean.ia=0, stderr.ia=1,
succ.crit="trial", Z.crit.final=1.96)
#--- Dallow et al. (2011), see Figure 1. Example, outcome: Matching
succ_ia(type="cont", nsamples=1, null.value=0, alternative="greater",
N=100, n=50,
mean.ia=1.364, stderr.ia=1,
succ.crit="trial", Z.crit.final=1.64)
#--- Example 1 in the paper (Continuous endpoint)
succ_ia(type="cont", nsamples=2, null.value=-0.05, alternative="greater",
N=1552, n=776, a=1,
meandiff.ia=-0.025, sd.ia=0.16,
succ.crit="trial", Z.crit.final=1.97,
meandiff.exp=-0.030,
meandiff.prior=0, sd.prior=0.02)
#--- Example 2 in the paper (Binary endpoint)
p1<- 0.379; p2<- 0.222
n1<- 105; n2<- 53
#-- Trial success
succ_ia(type="bin", nsamples=2, null.value=0, alternative="greater",
N=210, n=158, a=2,
propdiff.ia=p1-p2,
stderr.ia=sqrt(p1*(1-p1)/n1 + p2*(1-p2)/n2),
succ.crit="trial", Z.crit.final=2.012,
propdiff.exp=0.20,
propdiff.prior=0.20, sd.prior=sqrt(0.06))
#-- Clinical success
succ_ia(type="bin", nsamples=2, null.value=0, alternative="greater",
N=210, n=158, a=2,
propdiff.ia=p1-p2,
stderr.ia=sqrt(p1*(1-p1)/n1 + p2*(1-p2)/n2),
succ.crit="clinical", clin.succ.threshold=0.15,
propdiff.exp=0.20,
propdiff.prior=0.20, sd.prior=sqrt(0.06))
#--- Example 3 in the paper (Survival endpoint)
#--- Trial success
succ_ia(type="surv", nsamples=2, null.value=1, alternative="less",
D=441, d=346, a=1,
hr.ia=0.82,
succ.crit="trial", Z.crit.final=2.012,
hr.exp=0.75,
hr.prior=0.71, D.prior=133)
#--- clinical success
succ_ia(type="surv", nsamples=2, null.value=1, alternative="less",
D=441, d=346, a=1,
hr.ia=0.82,
succ.crit="clinical", clin.succ.threshold=0.80,
hr.exp=0.75,
hr.prior=0.71, D.prior=133)