Learn R Programming

SHT (version 0.1.9)

mean2.2011LJW: Two-sample Test for Multivariate Means by Lopes, Jacob, and Wainwright (2011)

Description

Given two multivariate data \(X\) and \(Y\) of same dimension, it tests $$H_0 : \mu_x = \mu_y\quad vs\quad H_1 : \mu_x \neq \mu_y$$ using the procedure by Lopes, Jacob, and Wainwright (2011) using random projection. Due to solving system of linear equations, we suggest you to opt for asymptotic-based \(p\)-value computation unless truly necessary for random permutation tests.

Usage

mean2.2011LJW(X, Y, method = c("asymptotic", "MC"), nreps = 1000)

Value

a (list) object of S3 class htest containing:

statistic

a test statistic.

p.value

\(p\)-value under \(H_0\).

alternative

alternative hypothesis.

method

name of the test.

data.name

name(s) of provided sample data.

Arguments

X

an \((n_x \times p)\) data matrix of 1st sample.

Y

an \((n_y \times p)\) data matrix of 2nd sample.

method

method to compute \(p\)-value. "asymptotic" for using approximating null distribution, and "MC" for random permutation tests. Using initials is possible, "a" for asymptotic for example.

nreps

the number of permutation iterations to be run when method="MC".

References

lopes_more_2011SHT

Examples

Run this code
## CRAN-purpose small example
smallX = matrix(rnorm(10*3),ncol=10)
smallY = matrix(rnorm(10*3),ncol=10)
mean2.2011LJW(smallX, smallY) # run the test

# \donttest{
## empirical Type 1 error 
niter   = 1000
counter = rep(0,niter)  # record p-values
for (i in 1:niter){
  X = matrix(rnorm(10*20), ncol=20)
  Y = matrix(rnorm(10*20), ncol=20)
  
  counter[i] = ifelse(mean2.2011LJW(X,Y)$p.value < 0.05, 1, 0)
}

## print the result
cat(paste("\n* Example for 'mean2.2011LJW'\n","*\n",
"* number of rejections   : ", sum(counter),"\n",
"* total number of trials : ", niter,"\n",
"* empirical Type 1 error : ",round(sum(counter/niter),5),"\n",sep=""))
# }

Run the code above in your browser using DataLab