pvalue.TOST: p-value(s) of the TOST procedure

View source: R/pvalue.TOST.R

pvalue.TOSTR Documentation

p-value(s) of the TOST procedure

Description

Calculates the p-value(s) of the TOST procedure via students t-distribution given pe, CV and n.

Usage

pvalue.TOST(pe, CV, n, logscale = TRUE, theta1, theta2, design = "2x2", 
            robust = FALSE, both = FALSE)
pvalues.TOST(pe, CV, n, logscale = TRUE, theta1, theta2, design = "2x2", 
             robust = FALSE, both = TRUE)

Arguments

pe

Observed point estimate of the T/R ratio or difference.
In case of logscale=TRUE it must be given as ratio T/R.
If logscale=FALSE, the observed 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).

CV

In case of logscale=TRUE the observed (geometric) coefficient of variation given as ratio.
If logscale=FALSE the argument refers to the observed (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 pe, 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

Total number of subjects if given as scalar.
Number of subjects in (sequence) groups if given as vector.

logscale

Should the data be used after log-transformation or on original scale?
TRUE or FALSE. Defaults to TRUE.

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, pe 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.

design

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

robust

If set to TRUE triggers the use of 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. Has only effect for higher-order crossover designs.
Defaults to FALSE. With that value the usual degrees of freedom will be used.

both

Indicates if both p-values (t-tests of pe >= theta1 and pe <= theta2) shall be given back or only the maximum.
Defaults to FALSE for the function pvalue.TOST() and to TRUE for the function pvalues.TOST().

Value

Returns the p-value(s).
Returns a vector with named elements p.left, p.right if arguments pe and CV are scalars, else a matrix with columns p.left, p.right.
p.left gives the p-value of testing
⁠ HA1: theta >= theta1⁠
and p.right the p-value of testing
⁠ HA2: theta <= theta2⁠
against their respective Nulls.

Note

The formulas implemented cover balanced and unbalanced designs.

In case of argument n given as n(total) and is not divisible by the number of (sequence) groups the total sample size is partitioned to the (sequence) groups to have small imbalance only. A message is given in such cases.

SAS procedure TTEST with the TOST option names p.left = Upper, p.right= Lower according to the tail of the t-distribution to be used for obtaining the p-values.

Author(s)

B. Lang, man page by D. Labes

References

Schuirmann DJ. A comparison of the two one-sided tests procedure and the power approach for assessing the equivalence of average bioavailability. J Pharmacokin Biopharm. 1987;15:657–80. \Sexpr[results=rd]{tools:::Rd_expr_doi("10.1007/BF01068419")}

Hauschke D, Steinijans V, Pigeot I. Bioequivalence Studies in Drug Development. Chichester: Wiley; 2007.

See Also

CI.BE

Examples

# Defaults: 2x2 crossover, log-transformation
# BE acceptance limits 0.8 ... 1.25, usual dfs
# interested in both p-values
pvalues.TOST(pe = 0.95, CV = 0.3, n = 12)
# gives the vector (named elements)
#     p.left    p.right
# 0.09105601 0.02250985
# i.e. 'left' hypothesis H01: theta<=theta1 can't be rejected
# 'right' hypothesis H02: theta>=theta2 can be rejected

# max. p-value only as 'overall' pvalue, preferred by Benjamin
pvalue.TOST(pe = 0.912, CV = 0.333, n = 24)
# should give 0.08777621, i.e., inequivalence can't be rejected
# this is operationally identical to 
CI.BE(pe = 0.912, CV = .333, n = 24)
# lower limit = 0.7766 outside 0.8 ... 1.25, i.e., inequivalence can't be rejected

PowerTOST documentation built on May 29, 2024, 4:40 a.m.