View source: R/sampleN.scABEL.ad.R
sampleN.scABEL.ad | R Documentation |
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)
alpha |
Type I error (TIE) probability (nominal level of the test). Per convention commonly set to 0.05. |
targetpower |
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. |
theta0 |
‘True’ or assumed T/R ratio. Defaults to 0.90 according to the two Lászlós if not given explicitly. |
theta1 |
Conventional lower ABE limit to be applied in the mixed procedure
if |
theta2 |
Conventional upper ABE limit to be applied in the mixed procedure
if |
CV |
Intra-subject coefficient(s) of variation as ratio (not percent).
|
design |
Design of the study to be planned. |
regulator |
Regulatory settings for the widening of the BE acceptance limits.
Choose from |
nstart |
Best “guess” sample size. If not given (default), simulations
start with the sample size estimated for |
nsims |
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. |
imax |
Maximum number of steps in sample size search. Defaults to 100. |
tol |
Desired accuracy (convergence tolerance). Defaults to 1E-6. |
print |
If |
details |
If |
alpha.pre |
Pre-specified alpha (optional). Must be |
setseed |
Simulations are dependent on the starting point of the (pseudo)
random number generator. To avoid differences in power for different
runs |
sdsims |
If |
progress |
Set to |
The simulations are done via the distributional properties of the statistical
quantities necessary for assessing BE based on ABEL.
Simulations of 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’s and Health Canada’s CVcap
, the GCC’s for any CVwR > 0.30:
scABEL(CV = 0.5, reg = "EMA")[["upper"]] [1] 1.43191 scABEL(CV = 0.57382, reg = "HC")[["upper"]] [1] 1.5 scABEL(CV = 0.31, reg = "GCC")[["upper"]] [1] 1.333333
Simulated studies are evaluated by ANOVA (Method A) as recommended in the
EMA’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
.
The estimated sample size gives always the total number of subjects (not subject/sequence – like in some other software packages).
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
.
Although some designs are more ‘popular’ than others, sample size estimations are valid for all of the following designs:
"2x2x4" | TRTR | RTRT |
TRRT | RTTR | |
TTRR | RRTT | |
"2x2x3" | TRT | RTR |
TRR | RTT | |
"2x3x3" | TRR | RTR | RRT |
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.
For the GCC and CVwR ≤ 0.30 simulations will be time consuming and may result in large sample sizes.
We are doing the sample size estimation only for balanced designs since the break down of the total subject number in case of unbalanced sequences is not unique. Moreover the formulas used are only for balanced designs.
H. Schütz
Tóthfalusi L, Endrényi L. Sample Sizes for Designing Bioequivalence Studies for Highly Variable Drugs. J Pharm Pharmaceut Sci. 2011;15(1):73–84. open access
Wonnemann M, Frö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. \Sexpr[results=rd]{tools:::Rd_expr_doi("10.1007/s11095-014-1450-z")}
Muñoz J, Alcaide D, Ocaña J. Consumer’s risk in the EMA and FDA regulatory approaches for bioequivalence in highly variable drugs. Stat Med. 2015;35(12):1933–43. \Sexpr[results=rd]{tools:::Rd_expr_doi("10.1002/sim.6834")}
Labes D, Schü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. \Sexpr[results=rd]{tools:::Rd_expr_doi("10.1007/s11095-016-2006-1")}
scABEL.ad
, sampleN.scABEL
, power.scABEL
,
scABEL
# --- 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)
sampleN.scABEL.ad(CV = 0.3)
# should result in n 60, power 0.8022.
# Note: Without adjustment by sampleN.scABEL(): n 54, power 0.8159
# Easier to show the details:
sampleN.scABEL.ad(CV = 0.3, details = TRUE)
#
# TRTR|RTRT, target power 90%, pre-specified alpha 0.025
sampleN.scABEL.ad(CV = 0.3, targetpower = 0.9, design = "2x2x4", alpha.pre = 0.025)
# should result in n 60, power 0.9021; pre-specified alpha justified.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.