power.TOST.sim  R Documentation 
Power of the TOST procedure obtained via simulations
Description
Power is calculated by simulations of studies (PE via its normal distribution,
MSE via its associated χ^{2} distribution) and application of the two onesided ttests. Power is obtained via ratio of studies found BE to
the number of simulated studies.
Usage
power.TOST.sim(alpha = 0.05, logscale = TRUE, theta1, theta2, theta0, CV, n,
design = "2x2", robust = FALSE, setseed = TRUE, nsims = 1e+05)
Arguments
alpha 
Significance level (onesided). Commonly set to 0.05.

logscale 
Should the data used on logtransformed or on original scale? TRUE (default) or FALSE .

theta0 
‘True’ or assumed T/R ratio or difference.
In case of logscale=TRUE it must be given as ratio T/R.
If logscale=FALSE , the difference in means. In this case, the difference may be expressed in two ways: relative to the same (underlying) reference mean, i.e. as (TR)/R = T/R  1; or as difference in means TR. Note that in the former case the units of CV , theta1 and theta2 need also be given relative to the reference mean (specified as ratio).
Defaults to 0.95 if logscale=TRUE or to 0.05 if logscale=FALSE

theta1 
Lower (bio)equivalence limit.
In case of logscale=TRUE it is given as ratio.
If logscale=FALSE , the limit may be expressed in two ways:
difference of means relative to the same (underlying) reference mean or in units of the difference of means.
Note that in the former case the units of CV , theta0 and theta2 need also be given relative to the reference mean (specified as ratio).
Defaults to 0.8 if logscale=TRUE or to 0.2 if logscale=FALSE .

theta2 
Upper (bio)equivalence limit.
In case of logscale=TRUE it is given as ratio.
If logscale=FALSE , the limit may be expressed in two ways:
difference of means relative to the same (underlying) reference mean or in units of the difference of means.
Note that in the former case the units of CV , theta0 and theta1 need also be given relative to the reference mean (specified as ratio).
If not given, theta2 will be calculated as 1/theta1 if logscale=TRUE or as theta1 if logscale=FALSE .

CV 
In case of logscale=TRUE the (geometric) coefficient of variation given as ratio.
If logscale=FALSE the argument refers to (residual) standard deviation of the response. In this case, standard deviation may be expressed two ways: relative to a reference mean (specified as ratio sigma/muR), i.e. again as a coefficient of variation; or untransformed, i.e. as standard deviation of the response. Note that in the former case the units of theta0 , theta1 and theta2 need also be given relative to the reference mean (specified as ratio).
In case of crossover studies this is the withinsubject CV, in case of a parallelgroup design the CV of the total variability.

n 
Number of subjects under study.
Is total number if given as scalar, else number of subjects in the (sequence)
groups. In the latter case the length of n vector has to be equal to the
number of (sequence) groups.

design 
Character string describing the study design.
See known.designs() for designs covered in this package.

robust 
Defaults to FALSE . With that value the usual degrees of freedom will be used.
Set to TRUE will use the degrees of freedom according to the ‘robust’ evaluation
(aka Senn’s basic estimator). These degrees of freedom are calculated as nseq .
See known.designs()$df2 for designs covered in this package.
Has only effect for higherorder crossover designs.

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(1234567)
is issued if setseed=TRUE , the default.
Set this argument to FALSE to view the variation in power between
different runs.

nsims 
Number of studies to simulate. Defaults to 100,000 = 1E5.

Value
Value of power according to the input arguments.
Note
This function was intended for internal check of the analytical power
calculation methods. Use of the analytical power calculation methods
(power.TOST()
) for real problems is recommended.
For sufficient precision nsims > 1E5 (default) may be necessary.
Be patient if using nsims=1E6. May take some seconds.
Author(s)
D. Labes
See Also
power.TOST
,
Examples
# using the default design 2x2, BE range 0.8 ... 1.25, logscale, theta0=0.95
power.TOST.sim(alpha = 0.05, CV = 0.3, n = 12)
# should give 0.15054, with nsims=1E6 it will be 0.148533
# exact analytical is
power.TOST(alpha = 0.05, CV = 0.3, n = 12)
# should give 0.1484695
# very unusual alpha setting
power.TOST.sim(alpha = 0.9, CV = 0.3, n = 12)
# should give the same (within certain precision) as
power.TOST(alpha = 0.95, CV = 0.3, n = 12)
# or also within certain precision equal to
power.TOST(alpha = 0.95, CV = 0.3, n = 12, method = "mvt")
# SAS Proc Power gives here the incorrect value 0.60525