This function performs a sample size estimation for the BE decision via Average Bioequivalenc with Expanding Limits (ABEL) based on simulations. Simultaneously alpha is iteratively adjusted in order to maintain the consumer risk at the nominal level.
sampleN.scABEL.ad(alpha = 0.05, targetpower = 0.8, theta0, theta1, theta2,
CV, design = c("2x3x3", "2x2x4", "2x2x3"), regulator,
nstart = NA, nsims = 1e+06, imax = 100, tol, print = TRUE,
details = FALSE, alpha.pre = 0.05, setseed = TRUE,
sdsims = FALSE, progress)
Type I error (TIE) probability (nominal level of the test). Per convention commonly set to 0.05.
Power to achieve at least. Must be >0 and <1. Typical values are 0.80 to 0.90 (i.e., 80% to 90%). Defaults to 0.80 if not given explicitly.
‘True’ or assumed bioavailability ratio. Defaults to 0.90 if not given explicitly.
Conventional lower ABE limit to be applied in the mixed procedure
if CVwR==CVswitch
. Also lower limit for the point estimate
constraint. Defaults to 0.80 if not given explicitly.
Conventional upper ABE limit to be applied in the mixed procedure
if CVwR==CVswitch
. Also upper limit for the point estimate
constraint. Defaults to 1.25 if not given explicitly.
Intra-subject coefficient(s) of variation as ratio (not percent).
If given as a scalar (length(CV)==1
) the same CV of Test
and Reference is assumed
(homoscedasticity: CVwT==CVwR
).
If given as a vector (length(CV)==2
) -- assuming
heteroscedasticity --
the CV of Test must be given in the first element
and the one of Reference in the second.
Design of the study to be planned.
"2x3x3"
is the partial replicate design (TRR|RTR|RRT).
"2x2x3"
is the 2-sequence 3-period full replicate design (TRT|RTR).
"2x2x4"
is the 2-sequence 4-period full replicate design (TRTR|RTRT).
Defaults to "2x3x3"
.
Regulatory settings for the widening of the BE acceptance limits.
Choose from "EMA"
(default) or "HC"
. This argument may be given
also in lower case.
Best “guess” sample size. If not given (default), simulations
start with the sample size estimated for alpha
(or alpha.pre
,
if given), theta0
, and targetpower
.
Can also be set to start the sample size search if a previous run
failed.
According to regulatory requirements must be >=12 for the EMA and
>=24 for ANVISA.
Number of simulations to be performed to estimate the (empirical) TIE and in each iteration of adjusting alpha. The default value 1,000,000 = 1E+6 should not be lowered.
Maximum number of steps in sample size search. Defaults to 100.
Desired accuracy (convergence tolerance). Defaults to 1E-6.
If TRUE
(default), the function sends its results to the console.
If TRUE
(default), the steps during sample size search are
shown. Additionally information about the impact on power by
adjusting alpha and change of study costs due to the increased sample
size is given.
Pre-specified alpha (optional). Must be <=alpha
. ABEL will be
performed at level alpha.pre
and the TIE assessed at level alpha
.
Less powerful than adjusting alpha but an alternative in the critical
region of maximum inflation of the TIE. In certain scenarios
Bonferroni<U+2019>s 0.025 is not sufficient to preserve the Type I Error.
Not recommended if CVwR >= 0.45
due to poor power characteristics.
Simulations are dependent on the starting point of the (pseudo)
random number generator. To avoid differences in power for different
runs set.seed(123456)
is issued if setseed=TRUE
(default).
If FALSE
(default) power is estimated by the respective statistics.
Recommended for the full replicate designs for speed reasons.
Set to TRUE
if results of power.scABEL
are expected to be inaccurate
(small sample sizes and/or heteroscedasticity) and subject data (via power.scABEL.sdsims
) should be simulated instead. Very time consuming (easily 100times slower)!
If design="2x3x3"
subject simulations are recommended -- even if homoscedasticity is assumed.
Subject data simulations are not supported for regulator="HC"
.
Set to TRUE
if a progress bar should be displayed. Ignored if sdsims=FALSE
.
Returns a data.frame with the input and results for adjusted alpha,
type I error, sample size, and achieved power.
The “Sample size” column contains the total sample size.
If no adjustment is necessary, NA
will be returned in the
“alpha.adj” column and other results are identical to the ones
obtained by sampleN.scABEL
.
The sample size estimation for extreme theta0
(<0.83 or >1.21) may be time
consuming and will eventually also fail since the start values chosen are
not really reasonable in that ranges.
If you really need sample sizes in that range be prepared to restart the sample
size estimation with nstart
above the last one before failure.
Since the dependence of power from n
is very flat in the mentioned region you may
also consider to adapt the number of simulations not to tap in the simulation
error trap.
See also the Warning section of the function power.scABEL
concerning
the power value agreement to those obtained from simulations via subject data.
The simulations are done via the distributional properties of the statistical
quantities necessary for assessing BE based on ABEL.
Simulations for the TIE are performed at the upper (expanded) limit U
of the acceptance range. Due to the symmetry around 1 results are valid for the lower
(expanded) limit L as well.
U at the EMA<U+2019>s and Health Canada<U+2019>s CVswitch
and
CVcap
:
scABEL(CV=0.3, regulator="EMA")[["upper"]]; scABEL(CV=0.3, regulator="HC")[["upper"]] [1] 1.25 [1] 1.25 scABEL(CV=0.5, regulator="EMA")[["upper"]]; scABEL(CV=0.57382, regulator="HC")[["upper"]] [1] 1.43191 [1] 1.5
Simulated studies are evaluated by ANOVA (‘Method A’) as recommended in the
EMA<U+2019>s Q&A-document and by intra-subject contrasts if regulator="HC"
.
Health Canada requires a mixed-effects model which cannot be implemented in R. However,
intra-subjects contrasts are a sufficiently close approximation.
If an inflation of the TIE is expected (i.e., >alpha
), alpha is
iteratively adjusted until at least the target power is reached and the consumer
risk is maintained (<=alpha
). For details about the algorithm see the
respective section of scABEL.ad
.
T<U+00F3>thfalusi L, Endr<U+00E9>nyi L. Sample Sizes for Designing Bioequivalence Studies for Highly Variable Drugs J Pharm Pharmaceut Sci. 2011;15(1):73--84. free download
Wonnemann M, Fr<U+00F6>mke C, Koch A. Inflation of the Type I Error: Investigations on Regulatory Recommendations for Bioequivalence of Highly Variable Drugs Pharm Res. 2015;32(1):135--43. 10.1007/s11095-014-1450-z
Mu<U+00F1>oz J, Alcaide D, Oca<U+00F1>a J. Consumer<U+2019>s risk in the EMA and FDA regulatory approaches for bioequivalence in highly variable drugs Stat Med. 2015;35(12):1933--43. 10.1002/sim.6834
Labes D, Sch<U+00FC>tz H. Inflation of Type I Error in the Evaluation of Scaled Average Bioequivalence, and a Method for its Control Pharm Res. 2016;33(11):2805--14. 10.1007/s11095-016-2006-1
# NOT RUN {
# --- Not run due to timing policy of CRAN for examples
# each may run some ten seconds or more
# using all the defaults:
# TRR|RTR|RRT, target power 80%, assumed ratio 0.90, 1E+6 simulated studies,
# EMA regulatory settings (ABE limits, PE constraint 0.8 - 1.25)
# }
# NOT RUN {
sampleN.scABEL.ad(CV = 0.3)
# }
# NOT RUN {
# should result in n 60, power 0.8022.
# Note: Without adjustment by sampleN.scABEL(): n 54, power 0.8159
# Easier to show the details:
# }
# NOT RUN {
sampleN.scABEL.ad(CV = 0.3, details = TRUE)
# }
# NOT RUN {
#
# TRTR|RTRT, target power 90%, pre-specified alpha 0.025
# }
# NOT RUN {
sampleN.scABEL.ad(CV = 0.3, targetpower = 0.9, design = "2x2x4", alpha.pre = 0.025)
# }
# NOT RUN {
# should result in n 60, power 0.9021; pre-specified alpha justified.
# }
Run the code above in your browser using DataLab