power.TOST.sim {PowerTOST} | 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 one-sided t-tests. 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 (one-sided). Commonly set to 0.05.
|
logscale |
Should the data used on log-transformed 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 (T-R)/R = T/R - 1; or as difference in means T-R. 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 cross-over studies this is the within-subject CV, in case of a parallel-group 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 n-seq .
See known.designs()$df2 for designs covered in this package.
Has only effect for higher-order 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
[Package
PowerTOST version 1.5-6
Index]