HotellingsT2Test {DescTools}R Documentation

Hotelling's T2 Test


Hotelling's T2 test is the multivariate generlisation of the Student's t test. A one-sample Hotelling's T2 test can be used to test if a set of vectors of data (which should be a sample of a single statistical population) has a mean equal to a hypothetical mean. A two-sample Hotelling's T2 test may be used to test for significant differences between the mean vectors (multivariate means) of two multivariate data sets are different.


HotellingsT2Test(x, ...)

## Default S3 method:
HotellingsT2Test(x, y = NULL, mu = NULL, test = "f", ...)

## S3 method for class 'formula'
HotellingsT2Test(formula, data, subset, na.action, ...) 



a numeric data frame or matrix.


an optional numeric data frame or matrix for the two sample test. If NULL a one sample test is performed.


a vector indicating the hypothesized value of the mean (or difference in means if a two sample test is performed). NULL represents origin or no difference between the groups.


if "f", the decision is based on the F-distribution, if "chi" a chi-squared approximation is used.


a formula of the form x ~ g where x is a numeric matrix giving the data values and g a factor with two levels giving the corresponding groups.


an optional matrix or data frame (or similar: see model.frame) containing the variables in the formula formula. By default the variables are taken from environment(formula).


an optional vector specifying a subset of observations to be used.


a function which indicates what should happen when the data contain NAs. Defaults to getOption("na.action").


further arguments to be passed to or from methods.


The classical test for testing the location of a multivariate population or for testing the mean difference for two multivariate populations. When test = "f" the F-distribution is used for the test statistic and it is assumed that the data are normally distributed. If the chisquare approximation is used, the normal assumption can be relaxed to existence of second moments. In the two sample case both populations are assumed to have the same covariance matrix.

The formula interface is only applicable for the 2-sample tests.


A list with class 'htest' containing the following components:


the value of the T2-statistic. (That is the scaled value of the statistic that has an F distribution or a chisquare distribution depending on the value of test).


the degrees of freedom for the T2-statistic.


the p-value for the test.


the specified hypothesized value of the mean or mean difference depending on whether it was a one-sample test or a two-sample test.


a character string with the value 'two.sided'.


a character string indicating what type of test was performed.

a character string giving the name of the data (and grouping vector).


Klaus Nordhausen, <>


Nordhausen K., Sirkia S., Oja H. and Tyler D. E. (2012) ICSNP: Tools for Multivariate Nonparametrics. R package version 1.0-9.

Anderson, T.W. (2003), An introduction to multivariate analysis, New Jersey: Wiley.


math.teach <- data.frame(
  teacher = factor(rep(1:2, c(3, 6))),
  satis   = c(1, 3, 2, 4, 6, 6, 5, 5, 4),
  know    = c(3, 7, 2, 6, 8, 8, 10, 10, 6))

  HotellingsT2Test(cbind(satis, know) ~ teacher))

[Package DescTools version 0.99.51 Index]