These function performs the power calculation of the BE decision via
scaled (widened) BE acceptance limits based on subject data simulations.
This function has an alias power.scABEL.sds().
power.scABEL.sdsims(alpha = 0.05, theta1, theta2, theta0, CV, n,
design = c("2x3x3", "2x2x4", "2x2x3"), design_dta=NULL,
regulator, nsims = 1e+05, details = FALSE, setseed = TRUE,
progress)
Returns the value of the (empirical) power if argument details=FALSE
.
Returns a named vector if argument details=TRUE
.
p(BE) is the power, p(BE-wABEL) is the power of the widened ABEL criterion alone and p(BE-pe) is the power of the criterion 'point estimat within acceptance range' alone. p(BE-ABE) is the power of the conventional ABE test given for comparative purposes.
Type I error probability, significance level. Conventionally mostly set to 0.05.
Conventional lower ABE limit to be applied in the mixed procedure if
CVsWR <= CVswitch
. Also lower limit for the point estimate constraint.
Defaults to 0.8 if not given explicitly.
Conventional upper ABE limit to be applied in the mixed procedure if
CVsWR <= CVswitch
. Also upper limit for the point estimate constraint.
Defaults to 1.25 if not given explicitly.
‘True’ or assumed T/R ratio.
Defaults to 0.90 according to the two Lászlós 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
), i.e., assuming
heteroscedasticity, the CV of the Test must be given in
CV[1]
and the one of the Reference in the CV[2]
.
Number of subjects under study.
May be given as vector. In that case it is assumed that n
contains the number
of subjects in the sequence groups.
If n
is given as single number (total sample size) and this number is not
divisible by the number of sequences of the design an unbalanced design is
assumed. A corresponding message is thrown showing the numbers of subjects
in sequence groups.
Attention! In case of the "2x2x3"
(TRT|RTR) design the order of sample sizes is important
if given as vector. n[1]
is for sequence group 'TRT' and n[2]
is for
sequence group 'RTR'.
Design of the study to be planned.
"2x3x3"
is the partial replicate design (TRR|RTR|RRT).
"2x2x4"
is the full replicate design with 2 sequences and 4 periods.
"2x2x3"
is the 3-period design with sequences TRT|RTR.
Defaults to design="2x3x3"
.
Alternatively to using the arguments design
and n
the design may
be defined via a data.frame with columns subject, sequence, period
and
tmt
. This feature is experimental in the sense that the data.frame is
not checked for complying with the assumed structure.
If you use the argument design_dta
you don't need to specify the arguments
design
and n
.
The default design_dta = NULL
means that design
and n
are used
for the internal construction of the design data.frame.
Regulatory settings for the widening of the BE acceptance limits.
May be given as "EMA"
or as an object of
class 'regSet' (see reg_const
).
Defaults to regulator="EMA"
if missing.
This argument may be given also in lower case if given as character.
If given as object of class 'regSet' the component est_method
must not be "ISC"
.
Number of simulations to be performed to obtain the empirical power.
Defaults to 100,000 = 1e+05.
If simulations are aimed for empirical alpha nsims=1e+06
is recommended.
If set to TRUE
the computational time is shown as well as the components
for the BE decision.
p(BE-wABEL) is the probability that the CI is within (widened) limits.
p(BE-PE) is the probability that the point estimate is within theta1 ... theta2.
p(BE-ABE) is the simulated probability for the conventional ABE test.
Simulations are dependent on the starting point of the (pseudo) random number
generator. To avoid differences in power for different runs a set.seed()
is issued if setseed=TRUE
, the default.
Should a progressbar be shown? Defaults to TRUE
if missing and nsims >5E5.
D. Labes, B. Lang
The methods rely on the analysis of log-transformed data, i.e., assume a
log-normal distribution on the original scale.
The widened BE acceptance limits will be calculated by the formula
[L, U] = exp(± r_const * sWR)
with r_const
the regulatory constant and sWR
the standard deviation of the within
subjects variability of the Reference. r_const = 0.76
(~log(1.25)/0.29356) is used
in case of regulator="EMA"
.
If the CVwR of the Reference is < CVswitch=0.3 the conventional ABE limits
apply (mixed procedure).
In case of regulator="EMA"
a cap is placed on the widened limits if
CVwr>0.5, i.e., the widened limits are held at value calculated for CVwR=0.5.
The simulations are done by simulating subject data (all effects fixed except the
residuals) and evaluating these data via ANOVA of all data to get the point estimate
of T vs. R along with its 90% CI and an ANOVA of the data under R(eference) only
to get an estimate of s2wR.
The data.frame with columns subject, sequence, period
and tmt
necessary for evalution of simulated subject data is constructed internally from
the arguments design
and n
or may be given user defined via the argument
design_dta
. The last option is usefull if missing data have to be considered
or if designs have to be evaluated which are not in the list of argument
design
.
This feature is experimental in the sense that the data.frame is not checked
for complying with the assumed structure.
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 source
power.scABEL, reg_const
# using all the defaults:
# design="2x3x3", EMA regulatory settings
# PE constraint 0.8-1.25, cap on widening if CV>0.5
# true ratio=0.90, 1E+5 simulations
power.scABEL.sdsims(CV = 0.4, n = 36)
# should give:
# [1] 0.74321
Run the code above in your browser using DataLab