Package 'T2EQ'

Title: Functions for Applying the T^2-Test for Equivalence
Description: Contains functions for applying the T^2-test for equivalence. The T^2-test for equivalence is a multivariate two-sample equivalence test. Distance measure of the test is the Mahalanobis distance. For multivariate normally distributed data the T^2-test for equivalence is exact and UMPI. The function T2EQ() implements the T^2-test for equivalence according to Wellek (2010) <DOI:10.1201/ebk1439808184>. The function T2EQ.dissolution.profiles.hoffelder() implements a variant of the T^2-test for equivalence according to Hoffelder (2016) <http://www.ecv.de/suse_item.php?suseId=Z|pi|8430> for the equivalence comparison of highly variable dissolution profiles.
Authors: Thomas Hoffelder
Maintainer: Thomas Hoffelder <[email protected]>
License: GPL-3
Version: 1.1
Built: 2024-10-31 22:23:21 UTC
Source: CRAN

Help Index


Functions for Applying the T2T^2-Test for Equivalence

Description

Contains functions for applying the T2T^2-test for equivalence. The T2T^2-test for equivalence is a multivariate two-sample equivalence test. Distance measure of the test is the Mahalanobis distance. For multivariate normally distributed data the T2T^2-test for equivalence is exact and UMPI. The function T2EQ() implements the T2T^2-test for equivalence according to Wellek (2010). The function T2EQ.dissolution.profiles.hoffelder() implements a variant of the T2T^2-test for equivalence according to Hoffelder (2016) for the equivalence comparison of highly variable dissolution profiles.

Details

Index of help topics:

T2EQ                    Function for applying the T^2-test for
                        equivalence
T2EQ-package            Functions for Applying the T^2-Test for
                        Equivalence
T2EQ.dissolution.profiles.hoffelder
                        The T^2-test for equivalence for dissolution
                        data
ex_data_JoBS            Example dataset from Hoffelder et al. (2015)
ex_data_pharmind        Example dataset from Hoffelder (2016)

Author(s)

Thomas Hoffelder

Maintainer: Thomas Hoffelder <[email protected]>

References

Wellek, S. (2010), Testing Statistical Hypotheses of Equivalence and Noninferiority. Second edition. Boca Raton: Chapman & Hall/CRC.

Hoffelder, T., Goessl, R., Wellek, S. (2015). Multivariate Equivalence Tests for Use in Pharmaceutical Development. Journal of Biopharmaceutical Statistics, 25:3, 417-437. URL: http://dx.doi.org/10.1080/10543406.2014.920344

Hoffelder, T. (2016). Highly Variable Dissolution Profiles: Comparison of T2T^2-Test for Equivalence and f2f_2 Based Methods. pharmind, 78:4, 587-592. URL: http://www.ecv.de/suse_item.php?suseId=Z|pi|8430

Tsong, Y., Hammerstrom, T., Sathe, P., Shah, V.P. (1996). Statistical Assessment of Mean Differences between two Dissolution Data Sets. Drug Information Journal, 30:4, 1105-1112. URL: http://dx.doi.org/10.1177/009286159603000427

EMA (2010). Guidance on the Investigation of Bioequivalence. URL: http://www.ema.europa.eu/docs/en_GB/document_library/Scientific_guideline/2010/01/WC500070039.pdf

Examples

## Not run: A recalculation of the example evaluation in Hoffelder et al. (2015) 
can be done with the following code:
## End(Not run)

data(ex_data_JoBS)
REF_JoBS <- cbind(ex_data_JoBS[ which(ex_data_JoBS$Group=='REF'), ]
            [c("Diss_15_min","Diss_20_min","Diss_25_min")])
TEST_JoBS <- cbind(ex_data_JoBS[ which(ex_data_JoBS$Group=='TEST'), ]
            [c("Diss_15_min","Diss_20_min","Diss_25_min")])
equivalence_margin_JoBS <- 0.74^2
test_T2EQ_JoBS <- T2EQ(X=REF_JoBS,Y=TEST_JoBS,eq_margin = equivalence_margin_JoBS)

## Not run: A recalculation of the results underlying Figure 1 in Hoffelder (2016) 
can be done with the following code:
## End(Not run)

data(ex_data_pharmind)
REF_pharmind <- cbind(ex_data_pharmind[ which(ex_data_pharmind$Group=='REF'), ]
                  [c("Diss_10_min","Diss_20_min","Diss_30_min")])
TEST_pharmind <- cbind(ex_data_pharmind[ which(ex_data_pharmind$Group=='TEST'), ]
                  [c("Diss_10_min","Diss_20_min","Diss_30_min")])
test_T2EQ.dissolution.profiles.hoffelder_pharmind <- 
      T2EQ.dissolution.profiles.hoffelder(X=REF_pharmind,Y=TEST_pharmind)

Example dataset from Hoffelder et al. (2015)

Description

Multivariate example dataset of dissolution profiles. Dataset consists of two three-dimensional samples. The names of the three variables are "Diss_15_min","Diss_20_min" and "Diss_25_min". Variable "Group" discriminates between first sample (Group == "REF") and second sample (Group == "Test"). Sample size is 12 per group.

Usage

data("ex_data_JoBS")

Format

A data frame with 24 observations on the following 4 variables.

Group

a factor with levels REF TEST

Diss_15_min

a numeric vector

Diss_20_min

a numeric vector

Diss_25_min

a numeric vector

Details

Example dataset from Hoffelder et al. (2015).

Source

Hoffelder, T., Goessl, R., Wellek, S. (2015), "Multivariate Equivalence Tests for Use in Pharmaceutical Development", Journal of Biopharmaceutical Statistics, 25:3, 417-437.

References

URL: http://dx.doi.org/10.1080/10543406.2014.920344

Examples

data(ex_data_JoBS)

Example dataset from Hoffelder (2016)

Description

Multivariate example dataset of dissolution profiles. Dataset consists of two three-dimensional samples. The names of the three variables are "Diss_10_min","Diss_20_min" and "Diss_30_min". Variable "Group" discriminates between first sample (Group == "REF") and second sample (Group == "Test"). Sample size is 12 per group.

Usage

data("ex_data_pharmind")

Format

A data frame with 24 observations on the following 4 variables.

Diss_10_min

a numeric vector

Diss_20_min

a numeric vector

Diss_30_min

a numeric vector

Group

a character vector

Details

Example dataset underlying Figure 1 in Hoffelder (2016).

Source

Hoffelder, T. (2016), "Highly Variable Dissolution Profiles: Comparison of T2T^2-Test for Equivalence and f2f_2 Based Methods", pharmind, 78:4, 587-592.

References

URL: http://www.ecv.de/suse_item.php?suseId=Z|pi|8430

Examples

data(ex_data_pharmind)

Function for applying the T2T^2-test for equivalence

Description

The function T2EQ() implements the T2T^2-test for equivalence (see Wellek,2010 or Hoffelder et al., 2015). The T2T^2-test for equivalence is a multivariate two-sample equivalence test. Distance measure of the test is the Mahalanobis distance.

Usage

T2EQ(X, Y, eq_margin, alpha = 0.05, print.results = TRUE)

Arguments

X

numeric data matrix of the first sample. The rows of X contain the individual observations of the sample, the columns contain the variables/components of the multivariate sample.

Y

numeric data matrix of the second sample. The rows of X contain the individual observations of the sample, the columns contain the variables/components of the multivariate sample.

eq_margin

numeric (>0). The equivalence margin of the test.

alpha

numeric (0<alpha<1). The significance level of the T2T^2-test for equivalence. Usually set to 0.05 which is the default.

print.results

logical; if TRUE (default) summary statistics and test results are printed in the output. If NO no output is created

Details

For multivariate normally distributed data the T2T^2-test for equivalence is exact and UMPI.

Value

a data frame; three columns containing the results of the test

p.value

numeric; the p-value of the T2T^2-test for equivalence

testresult.num

numeric; 0 (null hypothesis of nonequivalence not rejected) or 1 (null hypothesis of nonequivalence rejected, decision in favor of equivalence)

testresult.text

character; test result of the T2T^2-test for equivalence in text mode

Author(s)

Thomas Hoffelder <thomas.hoffelder at boehringer-ingelheim.com>

References

Wellek, S. (2010), Testing Statistical Hypotheses of Equivalence and Noninferiority. Second edition. Boca Raton: Chapman & Hall/CRC.

Hoffelder, T., Goessl, R., Wellek, S. (2015). Multivariate Equivalence Tests for Use in Pharmaceutical Development. Journal of Biopharmaceutical Statistics, 25:3, 417-437. URL: http://dx.doi.org/10.1080/10543406.2014.920344

Examples

## Not run: A recalculation of the example evaluation in Hoffelder et al. (2015) 
can be done with the following code:
## End(Not run)

data(ex_data_JoBS)
REF_JoBS <- cbind(ex_data_JoBS[ which(ex_data_JoBS$Group=='REF'), ]
            [c("Diss_15_min","Diss_20_min","Diss_25_min")])
TEST_JoBS <- cbind(ex_data_JoBS[ which(ex_data_JoBS$Group=='TEST'), ]
            [c("Diss_15_min","Diss_20_min","Diss_25_min")])
equivalence_margin_JoBS <- 0.74^2
test_T2EQ_JoBS <- T2EQ(X=REF_JoBS,Y=TEST_JoBS,eq_margin = equivalence_margin_JoBS)

The T2T^2-test for equivalence for dissolution data

Description

The function T2EQ.dissolution.profiles.hoffelder() implements a variant of the T2T^2-test for equivalence analyses of highly variable dissolution profiles (see Hoffelder,2016). It is a multivariate two-sample equivalence procedure. Distance measure of the test is the Mahalanobis distance.

Usage

T2EQ.dissolution.profiles.hoffelder(X, Y, alpha = 0.05, print.results = TRUE)

Arguments

X

numeric data matrix of the first sample (REF). The rows of X contain the individual observations of the REF sample, the columns contain the variables/components of the multivariate sample. More precisely, the variables are the measured dissolution time points and the rows contain the individual dissolution profiles.

Y

numeric data matrix of the second sample (TEST). The rows of Y contain the individual observations of the TEST sample, the columns contain the variables/components of the multivariate sample. More precisely, the variables are the measured dissolution time points and the rows contain the individual dissolution profiles.

alpha

numeric (0<alpha<1). The significance level of the test. Usually set to 0.05 which is the default.

print.results

logical; if TRUE (default) summary statistics and test results are printed in the output. If NO no output is created

Details

This function implements a variant of the T2T^2-test for equivalence suggested in Hoffelder (2016): The equivalence margin of the test is a compromise between the suggestions of Tsong et al. (1996) and EMA (2010) requirements. See Hoffelder (2016) for a discussion on that equivalence margin.

Value

a data frame; three columns containing the results of the test

p.value

numeric; the p-value of the equivalence test according to Hoffelder (2016)

testresult.num

numeric; 0 (null hypothesis of nonequivalence not rejected) or 1 (null hypothesis of nonequivalence rejected, decision in favor of equivalence)

testresult.text

character; test result of the test in text mode

Author(s)

Thomas Hoffelder <thomas.hoffelder at boehringer-ingelheim.com>

References

Hoffelder, T. (2016). Highly Variable Dissolution Profiles: Comparison of T2T^2-Test for Equivalence and f2f_2 Based Methods. pharmind, 78:4, 587-592. URL: http://www.ecv.de/suse_item.php?suseId=Z|pi|8430

Wellek, S. (2010), Testing Statistical Hypotheses of Equivalence and Noninferiority. Second edition. Boca Raton: Chapman & Hall/CRC.

Tsong, Y., Hammerstrom, T., Sathe, P., Shah, V.P. (1996). Statistical Assessment of Mean Differences between two Dissolution Data Sets. Drug Information Journal, 30:4, 1105-1112. URL: http://dx.doi.org/10.1177/009286159603000427

EMA (2010). Guidance on the Investigation of Bioequivalence. URL: http://www.ema.europa.eu/docs/en_GB/document_library/Scientific_guideline/2010/01/WC500070039.pdf

Examples

## Not run: A recalculation of the results underlying Figure 1 in Hoffelder (2016) 
can be done with the following code:
## End(Not run)

data(ex_data_pharmind)
REF_pharmind <- cbind(ex_data_pharmind[ which(ex_data_pharmind$Group=='REF'), ]
                  [c("Diss_10_min","Diss_20_min","Diss_30_min")])
TEST_pharmind <- cbind(ex_data_pharmind[ which(ex_data_pharmind$Group=='TEST'), ]
                  [c("Diss_10_min","Diss_20_min","Diss_30_min")])
test_T2EQ.dissolution.profiles.hoffelder_pharmind <- 
      T2EQ.dissolution.profiles.hoffelder(X=REF_pharmind,Y=TEST_pharmind)