epval_aSPU {highmean} | R Documentation |
Empirical Permutation- or Resampling-Based p-values of the SPU and aSPU Tests
Description
Calculates p-values of the sum-of-powers (SPU) and adaptive SPU (aSPU) tests based on permutation or parametric bootstrap resampling.
Usage
epval_aSPU(sam1, sam2, pow = c(1:6, Inf), eq.cov = TRUE, n.iter = 1000, cov1.est,
cov2.est, bandwidth1, bandwidth2, cv.fold = 5, norm = "F", seeds)
Arguments
sam1 |
an n1 by p matrix from sample population 1. Each row represents a |
sam2 |
an n2 by p matrix from sample population 2. Each row represents a |
pow |
a numeric vector indicating the candidate values for the power |
eq.cov |
a logical value. The default is |
n.iter |
a numeric integer indicating the number of permutation/resampling iterations. The default is 1,000. |
cov1.est |
This and the following arguments are only effective when |
cov2.est |
a consistent estimate of the covariance matrix of sample population 2 when |
bandwidth1 |
a vector of nonnegative integers indicating the candidate bandwidths to be used in the banding approach (Bickel and Levina, 2008) for estimating the covariance of sample population 1 when |
bandwidth2 |
similar with the argument |
cv.fold |
an integer greater than or equal to 2 indicating the fold of cross-validation. The default is 5. See page 211 in Bickel and Levina (2008). |
norm |
a character string indicating the type of matrix norm for the calculation of risk function in cross-validation. This argument will be passed to the |
seeds |
a vector of seeds for each permutation or parametric bootstrap resampling iteration; this is optional. |
Details
See the details in apval_aSPU
.
Value
A list including the following elements:
sam.info |
the basic information about the two groups of samples, including the samples sizes and dimension. |
pow |
the powers |
opt.bw1 |
the optimal bandwidth determined by the cross-validation when |
opt.bw2 |
the optimal bandwidth determined by the cross-validation when |
cov.assumption |
the equality assumption on the covariances of the two sample populations; this was specified by the argument |
method |
this output reminds users that the p-values are obtained using permutation or parametric bootstrap resampling. |
pval |
the p-values of the SPU tests and the aSPU test. |
References
Bickel PJ and Levina E (2008). "Regularized estimation of large covariance matrices." The Annals of Statistics, 36(1), 199–227.
Pan W, Kim J, Zhang Y, Shen X, and Wei P (2014). "A powerful and adaptive association test for rare variants." Genetics, 197(4), 1081–1095.
Pourahmadi M (2013). High-Dimensional Covariance Estimation. John Wiley & Sons, Hoboken, NJ.
Xu G, Lin L, Wei P, and Pan W (2016). "An adaptive two-sample test for high-dimensional means." Biometrika, 103(3), 609–624.
See Also
Examples
library(MASS)
set.seed(1234)
n1 <- n2 <- 50
p <- 200
mu1 <- rep(0, p)
mu2 <- mu1
mu2[1:10] <- 0.2
true.cov <- 0.4^(abs(outer(1:p, 1:p, "-"))) # AR1 covariance
sam1 <- mvrnorm(n = n1, mu = mu1, Sigma = true.cov)
sam2 <- mvrnorm(n = n2, mu = mu2, Sigma = true.cov)
# increase n.iter to reduce Monte Carlo error
epval_aSPU(sam1, sam2, n.iter = 10)
# the two sample populations have different covariances
#true.cov1 <- 0.2^(abs(outer(1:p, 1:p, "-")))
#true.cov2 <- 0.6^(abs(outer(1:p, 1:p, "-")))
#sam1 <- mvrnorm(n = n1, mu = mu1, Sigma = true.cov1)
#sam2 <- mvrnorm(n = n2, mu = mu2, Sigma = true.cov2)
# increase n.iter to reduce Monte Carlo error
#epval_aSPU(sam1, sam2, eq.cov = FALSE, n.iter = 10,
# bandwidth1 = 10, bandwidth2 = 10)