Learn R Programming

Hotelling (version 1.0-8)

hotelling.test: Two-sample Hotelling's T-squared test

Description

Performs a two-sample Hotelling's T-squared test for the difference in two multivariate means

Usage

hotelling.test(x, ...)

# S3 method for default hotelling.test( x, y, shrinkage = FALSE, var.equal = TRUE, perm = FALSE, B = 10000, progBar = (perm && TRUE), ... )

# S3 method for formula hotelling.test(x, data = NULL, pair = c(1, 2), ...)

Arguments

x

a matrix containing the data points from sample 1, or a formula specifying the elements to be used as a response and the grouping variable as a predictor, or a list containing elements mean, cov, and n where mean is a mean vector of length p, cov is a variance-covariance matrix of dimension p by p, and n is the sample size

any additional arguments. This is useful to pass the optional arguments for the default call from the formula version

y

a matrix containing the data points from sample 2, or a list containing elements mean, cov, and n where mean is a mean vector of length p, cov is a variance-covariance matrix of dimension p by p, and n is the sample size

shrinkage

if TRUE then Shaefer and Strimmer's James-Stein shrinkage estimator is used to calculate the sample covariance matrices

var.equal

set to TRUE if the covariance matrices are (assumed to be) equal

perm

if TRUE then permutation testing is used to estimate the non-parametric P-value for the hypothesis test

B

if perm is TRUE, then B is the number of permutations to perform

progBar

if TRUE and perm is TRUE then a progress bar will be displayed whilst the permutation procedure is carried out

data

a data frame needs to be specified if a formula is to be used to perform the test

pair

a vector of length two which can be used when the grouping factor has more than two levels to select different pairs of groups. For example for a 3-level factor, pairs could be set to c(1,3) to perform Hotelling's test between groups 1 an 3

Value

A list (which is also of class 'hotelling.test') with the following elements:

stats

a list containing all of the output from hotelling.stat

pval

the P-value from the test

results

if perm == TRUE, then all of the permuation test statisics are stored in results

Methods (by class)

  • default: Two-sample Hotelling's T-squared test

  • formula: Two-sample Hotelling's T-squared test

References

Hotelling, H. (1931). ``The generalization of Student's ratio.'' Annals of Mathematical Statistics 2 (3): 360--378.

Schaefer, J., and K. Strimmer (2005). ``A shrinkage approach to large-scale covariance matrix estimation and implications for functional genomics.'' Statist. Appl. Genet. Mol. Biol. 4: 32.

Opgen-Rhein, R., and K. Strimmer (2007). ``Accurate ranking of differentially expressed genes by a distribution-free shrinkage approach.'' Statist. Appl. Genet. Mol. Biol. 6: 9.

Campbell, G.P. and J. M. Curran (2009). ``The interpretation of elemental composition measurements from forensic glass evidence III.'' Science and Justice, 49(1),2-7.

See Also

hotelling.stat

Examples

Run this code
# NOT RUN {
data(container.df)
fit = hotelling.test(.~gp, data = container.df)
fit

subs.df = container.df[1:10,]
subs.df$gp = rep(1:2, c(5,5))
fitPerm = hotelling.test(Al+Fe~gp, data  = subs.df, perm =  TRUE)
fitPerm
plot(fitPerm)

data(bottle.df)
fit12 = hotelling.test(.~Number, data = bottle.df)
fit12

fit23 = hotelling.test(.~Number, data = bottle.df, pair = c(2,3))
fit23

data(manova1.df)
fit = hotelling.test(wratr+wrata~treatment, data = manova1.df, var.equal = FALSE)
fit

x = list(mean = c(7.81, 108.77, 44.92),
         cov = matrix(c(0.461, 1.18, 4.49,
                        1.18, 3776.4, -17.35, 
                        4.49, -17.35, 147.24), nc = 3, byrow = TRUE),
         n = 13)
y = list(mean = c(5.89, 41.9, 20.8),
         cov = matrix(c(0.148, -0.679, 0.209, 
                       -0.679, 96.10, 20.20,
                        0.209, 20.20, 24.18), nc = 3, byrow = TRUE),
         n = 10)
fit = hotelling.test(x, y, var.equal = FALSE)
fit
# }

Run the code above in your browser using DataLab