Learn R Programming

PowerTOST (version 1.5-4)

power.RSABE: (Empirical) Power for BE decision via linearized scaled ABE criterion

Description

This function performs the power calculation of the BE decision via linearized scaled ABE criterion by simulations as recommended by the FDA.

Usage

power.RSABE(alpha = 0.05, theta1, theta2, theta0, CV, n, 
            design = c("2x3x3", "2x2x4", "2x2x3"), regulator,
            nsims = 1e+05, details = FALSE, setseed=TRUE)

Value

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-sABEc) is the power of the scaled ABE 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.

Arguments

alpha

Type I error probability, significance level. Conventionally mostly set to 0.05.

theta1

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.

theta2

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.

theta0

‘True’ or assumed T/R ratio.
Defaults to 0.90 according to the two Lászlós if not given explicitly.

CV

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].

n

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 used.
Attention! In case of the "2x2x3" (TRT|RTR) design the order of sample sizes / sequence is important if given as a vector. n[1] is for sequence group 'TRT' and n[2] is for sequence group 'RTR'.

design

Design of the study.
"2x3x3" is the partial replicate design.
"2x2x4" is a full replicate design with 2 sequences and 4 periods.
"2x2x3" is a full replicate design with 2 sequences and 3 periods.
Defaults to "2x3x3". Details are given the section about Designs.

regulator

Regulatory settings for RSABE.
May be given as character from the choices "EMA" or "FDA" or as an object of class 'regSet' (see reg_const).
Defaults to regulator="FDA" if missing.
This argument may be given also in lower case if given as character.

Also the linearized scaled ABE criterion is usually calculated with the FDA constant r_const=log(1.25)/0.25 you can override this behavior to use the EMA setting r_const=0.76 to avoid the discontinuity at CV=30% and be more stringent.

nsims

Number of simulations to be performed to obtain the empirical power. Defaults to 100,000 = 1e+5.
If simulations are aimed for empirical alpha nsims=1e+06 is recommended.

details

If set to TRUE the computational time is shown as well as the components for the BE decision.
p(BE-sABEc) is the probability that the 95% CI of the ABE criterion is <0.
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 given for comparision purposes.

setseed

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.

Designs

Although some designs are more ‘popular’ than others, power calculations are valid for all of the following designs:

"2x2x4"TRTR | RTRT
TRRT | RTTR
TTRR | RRTT
"2x2x3"TRT | RTR
TRR | RTT
"2x3x3"TRR | RTR | RRT

Warning

In case of the design "2x2x3"" heteroscedasticity (i.e., CVwT != CVwR) may lead to poor agreement of the power values compared to those calculated via the ‘classical’ way of subject data simulations if the design is unbalanced in respect to the number of subjects in the sequence groups. Therefore, the function issues a warning for that cases.

Author

D. Labes

Details

The linearized scaled ABE criterion is calculated according to the SAS code given in the FDA’s progesterone guidance.
The simulations are done via the distributional properties of the statistical quantities necessary for deciding BE based on scaled ABE criterion.
Details can be found in a document Implementation_scaledABE_simsVx.yy.pdf located in the /doc sub-directory of the package.
If a CVcap is defined for the regulator, the BE decision is based on the inclusion of the CI in the capped widened acceptance limits in case of CVwR > CVcap. This resembles method ‘Howe-EMA’ in Muñoz et al. and is the standard behavior now if regulator="EMA" is choosen.

References

Food and Drug Administration, Office of Generic Drugs (OGD). Draft Guidance on Progesterone. Recommended Apr 2010. Revised Feb 2011. download

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

Tóthfalusi L, Endrényi L, García Arieta A. Evaluation of Bioequivalence for Highly Variable Drugs with Scaled Average Bioequivalence. Clin Pharmacokin. 2009;48(11):725--43. tools:::Rd_expr_doi("10.2165/11318040-000000000-00000")

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. tools:::Rd_expr_doi("10.1002/sim.6834")

See Also

sampleN.RSABE, power.scABEL

Examples

Run this code
# using all the defaults:
# design="2x3x3" = partial replicate
# ABE limits, PE constraint 0.8-1.25
# true ratio = 0.90, 1E+5 simulations
power.RSABE(CV = 0.4, n = 36)
# should give
# [1] 0.83634
#
# to explore the simulation error due to the state of the
# random number generator
power.RSABE(CV = 0.4, n = 36, setseed = FALSE)
# will give something like
# [1] 0.83725
#
# explore pure RSABE (without mixed method, without pe constraint)
rs           <- reg_const("FDA")
rs$CVswitch  <- 0
rs$pe_constr <- FALSE
power.RSABE(CV = 0.4, n = 36, regulator = rs)
# should give
# [1] 0.84644

Run the code above in your browser using DataLab