Learn R Programming

PowerTOST (version 1.2-09)

expsampleN.TOST: Sample size based on 'expected' power

Description

Calculates the sample size based on Julious 'expected' power for a variety of study designs used in bioequivalence studies. See known.designs() for the study designs covered.

Usage

expsampleN.TOST(alpha = 0.05, targetpower = 0.8, logscale=TRUE,
                theta0, theta1, theta2, CV, dfCV, design = "2x2", 
                robust=FALSE, print = TRUE, details = FALSE, imax=100)

Arguments

alpha
Error probability. Typically set to 0.05.
targetpower
Power to achieve at least. Must be >0 and
logscale
Should the data used on log-transformed or on original scale? TRUE or FALSE. Defaults to TRUE.
theta0
'True' or assumed bioequivalence ratio or difference. Maybe missing. Defaults the to 0.95 if logscale=TRUE or to 0.05 if logscale=FALSE.
theta1
Lower bioequivalence limit as ratio if logscale=TRUE or as difference. Can be missing. Defaults then to 0.8 if logscale=TRUE or to -0.2 if logscale=FALSE.
theta2
Upper bioequivalence limit as ratio if logscale=TRUE or as difference. If not given theta2 will be calculated as 1/theta1 if logscale=TRUE, else as -theta1.
CV
Coefficient of variation as ratio. May be given as vector. Then the CV's were pooled as weighted mean with their df=degrees of freedom as weights.
dfCV
Degrees of freedom for the CV's. Must be a vector of same length as CV.
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 df are calculated as n-seq. See <
print
If TRUE (default) the function prints its results. If FALSE only a data.frame with the results will be returned.
details
If TRUE the design characteristics and the steps during sample size calculations will be shown. Defaults to FALSE.
imax
Maximum number of steps in sample size search. Defaults to 100. Adaption only in very rare cases needed. Never seen a need for adaption up to now.

Value

  • A data.frame with the input values and the result of the sample size estimation. The "Sample size" column contains the total sample size in case of all design implemented.

Details

The sample size is calculated based on iterative evaluation of 'expected' power via Julious formulas based on non-central t-distribution. The start value of the sample size search is taken from a large sample approximation.

References

S.A. Julious, R.J. Owen "Sample size calculations for clinical studies allowing for uncertainty in variance" Pharmaceutical Statistics (2006), 5, 29-37 S.A. Julious "Sample sizes for Clinical Trials" CRC Press, Chapman & Hall, Boca Raton 2010 S. Senn "Cross-over Trials in Clinical Research" Second edition Wiley, Chichester 2002

See Also

exppower.TOST, known.designs, sampleN.TOST

Examples

Run this code
# Classical 2x2 cross-over, target power = 80\%,
# BE limits 80 ... 125\%, assumed true BE ratio = 95%,
# intra-subject CV=30\% estimated with 10 df
# using all the defaults
expsampleN.TOST(CV=0.3, dfCV=10)
# -> gives n=48 with achieved expected power 0.805082
# Compare this to the usual sample size with CV known as 'carved in stone'
sampleN.TOST(CV=0.3)

# More then one CV with corresponding degrees of freedom 
# other parameters as above
CVs <- c(0.25, 0.3)
dfs <- c(  22, 10)
expsampleN.TOST(CV=CVs, dfCV=dfs)
# -> gives a pooled CV=0.2664927 with df=32
# and a sample size n=34 with achieved expected power 0.815019

Run the code above in your browser using DataLab