power.tsd.in | R Documentation |
The function calculates the ‘empirical’ power of 2-stage BE studies based on the Inverse-Normal combination method. The main design scheme is according to Maurer et al. (Maximum Combination Test), but it may also be used for other/modified designs, e.g. standard combination method, usage of the observed treatment difference after stage 1 in the sample size re-estimation step or different futility criteria.
power.tsd.in(alpha, weight, max.comb.test = TRUE, n1, CV, targetpower = 0.8, theta0, theta1, theta2, GMR, usePE = FALSE, min.n2 = 4, max.n = Inf, fCpower = targetpower, fCrit = "CI", fClower, fCupper, fCNmax, ssr.conditional = c("error_power", "error", "no"), pmethod = c("nct", "exact", "shifted"), npct = c(0.05, 0.5, 0.95), nsims, setseed = TRUE, details = FALSE)
alpha |
If one element is given, the overall one-sided significance level. In this
case the adjusted alpha levels will be calculated internally. If two
elements are given, the argument refers to the two adjusted one-sided alpha
levels for stage 1 and
stage 2, respectively. |
weight |
Pre-defined weight(s) of stage 1, see
'Details' for more information.
Note that using the notation from Maurer et al, weight corresponds to
information fraction, other literature may refer to sqrt(weight) as being
the weight. |
max.comb.test |
Logical; if |
n1 |
Sample size of stage 1. |
CV |
Coefficient of variation of the intra-subject variability (use e.g., 0.3 for 30%). |
targetpower |
Desired (overall) target power to declare BE at the end of the trial. |
theta0 |
Assumed ratio of geometric means (T/R) for simulations. If missing,
defaults to |
theta1 |
Lower bioequivalence limit. Defaults to 0.8. |
theta2 |
Upper bioequivalence limit. Defaults to 1.25. |
GMR |
Assumed ratio of geometric means (T/R) to be used in power calculation for stage 1 and sample size re-estimation for stage 2. If missing, defaults to 0.95. |
usePE |
If |
min.n2 |
Minimum sample size of stage 2. Defaults to 4. |
max.n |
Maximum overall sample size stage 1 +
stage 2. |
fCpower |
Threshold for power monitoring step to decide on futility for cases where
BE has not been achieved after
stage 1: If BE has not been
achieved after stage 1 and the power for
stage 1 is greater than or equal to
|
fCrit |
Futility criterion to use: |
fClower |
Lower futility limit for the PE or CI of
stage 1. |
fCupper |
Upper futility limit for the PE or CI of
stage 1. |
fCNmax |
Futility criterion regarding maximum sample size. If the determined sample size
for stage 2 ( |
ssr.conditional |
Method for sample size re-estimation step: |
pmethod |
Power calculation method, also to be used in the sample size estimation for
stage 2. |
npct |
Percentiles to be used for the presentation of the distribution of
|
nsims |
Number of studies to simulate. |
setseed |
Simulations are dependent on the starting point of the (pseudo) random number
generator. To avoid differences in power for different runs a
|
details |
If set to |
The underlying subject data are assumed to be evaluated after log-transformation.
But instead of simulating subject data, the statistics pe1, mse1 and pe2, mse2
are simulated via their associated distributions (Normal and
χ2 distribution).
The weight
argument always refers to the first weight of a pair of
weights. For example, in case of max.comb.test = FALSE
the standard
combination test requires two weights (w, 1-w) but only the first one, w,
is required as input argument here because the second weight is
automatically specified once the first is given. Similarly for
max.comb.test = TRUE
, w and w* need to be specified, which in turn
define the two pairs of weights (w, 1-w) and (w*, 1-w*).
If ssr.conditional = "error_power"
, the design scheme generally
calculates the estimated conditional target power of the second stage and
uses this value as desired target power in the sample size re-estimation process:
If fCpower
> targetpower
, then the conditional estimated
target power may be negative. This does not seem sensible. Therefore, for such
cases the desired target power for the sample size re-calculation will be set
to targetpower
, i.e. ssr.conditional
will be set to "error"
.
Returns an object of class "pwrtsd"
with all the input arguments and results
as components. As part of the input arguments a component cval
is also
presented, containing the critical values for stage 1 and 2 according to the
input based on alpha
, weight
and max.comb.test
.
The class "pwrtsd"
has an S3 print method.
The results are in the components:
pBE |
Fraction of studies found BE. |
pBE_s1 |
Fraction of studies found BE in stage 1. |
pct_stop_s1 |
Percentage of studies stopped after stage 1 (due to BE or due to futility). |
pct_stop_fut |
Percentage of studies stopped after stage 1 due to futility. |
pct_s2 |
Percentage of studies continuing to stage 2. |
nmean |
Mean of n(total). |
nrange |
Range (min, max) of n(total). |
nperc |
Vector of percentiles of the distribution of n(total). |
B. Lang
König F, Wolfsegger M, Jaki T, Schütz H, Wassmer G.
Adaptive two-stage bioequivalence trials with early stopping and sample size re-estimation.
Vienna: 2014; 35th Annual Conference of the International Society for Clinical Biostatistics. Poster P1.2.88
\Sexpr[results=rd,stage=build]{tools:::Rd_expr_doi("10.13140/RG.2.1.5190.0967")}.
Patterson SD, Jones B. Bioequivalence and Statistics in Clinical Pharmacology.
Boca Raton: CRC Press; 2nd edition 2017.
Kieser M, Rauch G. Two-stage designs for cross-over bioequivalence trials.
Stat Med. 2015; 34(16): 2403–16. \Sexpr[results=rd,stage=build]{tools:::Rd_expr_doi("10.1002/sim.6487")}.
Maurer W, Jones B, Chen Y. Controlling the type 1 error rate in two-stage
sequential designs when testing for average bioequivalence.
Stat Med. 2018; 37(10): 1587–1607. \Sexpr[results=rd,stage=build]{tools:::Rd_expr_doi("10.1002/sim.7614")}.
Wassmer G, Brannath W. Group Sequential and Confirmatory Adaptive Designs
in Clinical Trials.
Springer 2016. \Sexpr[results=rd,stage=build]{tools:::Rd_expr_doi("10.1007/978-3-319-32562-0")}.
interim.tsd.in, final.tsd.in
# 12 subjects in stage 1, CV of 20%, no futility rule, otherwise all defaults # except too low number of sims due to CRAN policy for run-time of examples # This setting resembles values in Table 6.8 and 6.10 in Patterson and Jones # if nsims=1e5 (default) power.tsd.in(n1 = 12, CV = 0.2, fCrit = "No", nsims=1e4) # Note that actual replication would require the following additional # arguments (extremely long run-time) ## Not run: power.tsd.in(n1 = 12, CV = 0.2, fCrit = "No", max.n = 4000, pmethod = "exact", nsims = 1E6) ## End(Not run) # Table 8 in Maurer et al power.tsd.in(n1 = 36, CV = 0.4, max.n = 4000) # Same example as before but with additional futility criterion regarding # maximum sample size (using the default 4*n1 as maximum bound) power.tsd.in(n1 = 36, CV = 0.4, max.n = 4000, fCrit = c("CI", "Nmax"))