Power2Stage (version 0.5.2)

interim.tsd.in: Interim analysis of first stage data of 2-stage 2x2 crossover designs based on the Inverse Normal method

Description

Following the design scheme according to power.tsd.in the function performs the interim analysis of the first stage data.

Usage

interim.tsd.in(alpha, weight, max.comb.test = TRUE, targetpower = 0.8,
               GMR1, n1, CV1, df1 = NULL, SEM1 = NULL, 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("exact", "nct", "shifted"))

Arguments

alpha

If one element is given, the overall one-sided significance level (not the adjusted level for ). In this case the adjusted alpha levels will be calcualted internally. If two elements are given, the argument refers to the two adjusted one-sided alpha levels for and , respectively. If missing, defaults to 0.05.

weight

Pre-defined weight(s) of , 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. weight must either contain one element (in case of max.comb.test = FALSE) or two elements (in case of max.comb.test = TRUE). If missing, defaults to 0.5 for max.comb.test = FALSE and to c(0.5, 0.25) for max.comb.test = TRUE.

max.comb.test

Logical; if TRUE (default) the maximum combination test will be used, otherwise the standard combination test.

targetpower

Desired (overall) target power to declare BE at the end of the trial.

GMR1

Observed ratio of geometric means (T/R) of data (use e.g., 0.95 for 95%).

n1

Sample size of .

CV1

Observed coefficient of variation of the intra-subject variability of (use e.g., 0.3 for 30%).

df1

Optional; Error degrees of freedom of that can be specified in addition to n1.

SEM1

Optional; Standard error of the difference of means of that can be specified in addition to CV1. Must be on additive scale (i.e. usually log-scale).

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 and sample size re-estimation for . If missing, defaults to 0.95.

usePE

If TRUE the sample size re-estimation is done with the observed point estimate (PE) of the treatment difference in . Defaults to FALSE. Note: The futility inspection via the power of stage 1 is always done with the planning value GMR.

min.n2

Minimum sample size of . Defaults to 4. If the sample size re-estimation step gives a sample size for less than min.n2, then min.n2 will be used for .

max.n

Maximum overall sample size + . This is not a futility criterion regarding the maximum sample size! If max.n is set to a finite value and the sample size re-estimation gives a sample size for (n2) such that n1 + n2 > max.n, then the sample size for will be set to n2 = max.n - n1. Defaults to Inf, i.e., no constraint on the re-estimated sample size.

fCpower

Threshold for power monitoring step to decide on futility for cases where BE has not been achieved after : If BE has not been achieved after and the power for is greater than or equal to fCpower, then the study will be considered a failure. See ‘Details’ for more information on the choice of fCpower.

fCrit

Futility criterion to use: "No" (no futility criterion regarding observed point estimate, confidence interval and maximum sample size), "PE" (observed point estimate of the geometric mean ratio from ), "CI" (90% confidence interval of the geometric mean ratio from ), "Nmax" (overall maximum sample size); or a combination thereof (concatenate abbreviations). Defaults to "CI".

fClower

Lower futility limit for the PE or CI of . If the PE or CI is completely outside of fClowerfCupper the study is to be stopped due to futility (not BE). May be missing. If "PE" or "CI" is specified within fCrit, the default will be set to 0.8 for fCrit = "PE" or 0.95 for fCrit = "CI". If neither "PE" nor "CI" is specified within fCrit, there will be no futility constraint regarding point estimate or confidence interval from (regardless of any specification of fClower and/or fCupper).

fCupper

Upper futility limit for the PE or CI of . Analogous to fClower: Will be set to 1/fClower if missing.

fCNmax

Futility criterion regarding maximum sample size. If the determined sample size for (n2) is such that n1 + n2 > fCNmax, the study will not continue to and stopped due to futility (not BE). If "Nmax" is specified within fCrit and argument fCNmax is missing, the value will be set to fCNmax = 4*n1. If "Nmax" is not specified within fCrit, then there will be no futility constraint regarding maximum sample size (regardless of any specification of fCNmax).

ssr.conditional

Method for sample size re-estimation step: "no" does not use conditional error rates nor the estimated conditional target power for the second stage, "error" uses conditional error rates for the second stage, and "error_power" uses both conditional error rates and the estimated conditional target power for the second stage. Defaults to "error_power". See also ‘Details’.

pmethod

Power calculation method, also to be used in the sample size estimation for . Implemented are "nct" (approximate calculations via non-central t-distribution, "exact" (exact calculations via Owen<U+2019>s Q), and "shifted" (approximate calculation via shifted central t-distribution like in the paper of Potvin et al.) In contrast to power.tsd.in the default value here is "exact".

Value

Returns an object of class "evaltsd" 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 and 2 according to the input based on alpha, weight and max.comb.test. The class "evaltsd" has an S3 print method. The results are in the components:

p11

Observed p-value for first hypothesis.

p12

Observed p-value for second hypothesis.

z1

z statistic value for first null hypothesis.

z2

z statistic value for second null hypothesis.

RCI

(Exact) repeated confidence interval for .

futility

Three dimensional vector with either 0 or 1. The first component represents futility due to Power of first stage > fCpower, the second futility due to CI (or PE) outside of fClower ... fCupper, the third futility due to n1 + n2 > fCNmax. Note that the futility rules can be applied in a non-binding manner.

CI90

90% Confidence interval for observed ratio of geometric means from . If fCrit != "CI" result will be NULL.

Power Stage 1

Calculated power of .

stop_s1

Logical, indicating whether to stop after (due to BE or due to futility).

stop_fut

Logical, indicating whether study is recommended to be stopped after due to futility.

stop_BE

Logical, indicating whether BE could be concluded after or not (regardless of any futility criterion).

n2

Required (total) sample size for (will be zero if BE has been shown after ).

alpha_ssr

Only applicable if BE has not been shown after . Contains alpha values for the two hypotheses required for sample size re-calculation. If ssr.conditional = "no" the result is equal to alpha, otherwise it contains the conditional error rates for the standard combination test (in case of max.comb.test = FALSE) or maximum combination test (in case of max.comb.test = TRUE).

GMR_ssr

Only applicable if BE has not been shown after . Contains the geometric mean ratio used for sample size re-calculation (accounts for adaptive planning step).

targetpower_ssr

Only applicable if BE has not been shown after . Contains the target power used for the sample size re-calculation (see also 'Details').

Details

The observed values of stage 1 (e.g. GMR1, n1, CV1) may be obtained based on the first stage data via the usual ANOVA approach. The optional arguments df1 and SEM1 require a somewhat advanced knowledge (provided in the raw output from for example the software SAS, or may be obtained via emmeans::emmeans). However, it has the advantage that if there were missing data the exact degrees of freedom and standard error of the difference can be used, the former possibly being non-integer valued (e.g. if the Kenward-Roger method was used). 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 target power may actually 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.

References

K<U+00F6>nig F, Wolfsegger M, Jaki T, Sch<U+00FC>tz H, Wassmer G. Adaptive two-stage bioequivalence trials with early stopping and sample size re-estimation. Vienna: 2014; 35 Annual Conference of the International Society for Clinical Biostatistics. Poster P1.2.88 10.13140/RG.2.1.5190.0967.

Patterson SD, Jones B. Bioequivalence and Statistics in Clinical Pharmacology. Boca Raton: CRC Press; 2 edition 2017.

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;1--21. 10.1002/sim.7614.

Wassmer G, Brannath W. Group Sequential and Confirmatory Adaptive Designs in Clinical Trials. Springer 2016. 10.1007/978-3-319-32562-0.

See Also

power.tsd.in, final.tsd.in

Examples

Run this code
# NOT RUN {
# Example from Maurer et al
interim.tsd.in(GMR1 = exp(0.0424), CV1 = 0.3682, n1 = 20, max.n = 4000)
# }

Run the code above in your browser using DataCamp Workspace