maxTinftyCor {TestCor}R Documentation

Multiple testing method of Drton & Perlman (2007) for correlations.

Description

Multiple testing method based on the evaluation of quantile by simulation of observations from the asymptotic distribution (Drton & Perlman (2007)).

Usage

maxTinftyCor(
  data,
  alpha = 0.05,
  stat_test = "empirical",
  Nboot = 1000,
  OmegaChap = covDcorNorm(cor(data), stat_test),
  vect = FALSE,
  logical = FALSE,
  arr.ind = FALSE
)

Arguments

data

matrix of observations

alpha

level of multiple testing (used if logical=TRUE)

stat_test
'empirical'

\sqrt{n}*abs(corr)

'fisher'

\sqrt{n-3}*1/2*\log( (1+corr)/(1-corr) )

'student'

\sqrt{n-2}*abs(corr)/\sqrt(1-corr^2)

'2nd.order'

\sqrt{n}*mean(Y)/sd(Y) with Y=(X_i-mean(X_i))(X_j-mean(X_j))

Nboot

number of iterations for Monte-Carlo quantile evaluation

OmegaChap

matrix of covariance of empirical correlations used for quantile evaluation; optional, useful for oracle estimation and step-down

vect

if TRUE returns a vector of adjusted p-values, corresponding to vectorize(cor(data)); if FALSE, returns an array containing the adjusted p-values for each entry of the correlation matrix

logical

if TRUE, returns either a vector or a matrix where each element is equal to TRUE if the corresponding null hypothesis is rejected, and to FALSE if it is not rejected

arr.ind

if TRUE, returns the indexes of the significant correlations, with respect to level alpha

Value

Returns

References

Drton, M., & Perlman, M. D. (2007). Multiple testing and error control in Gaussian graphical model selection. Statistical Science, 22(3), 430-449.

Roux, M. (2018). Graph inference by multiple testing with application to Neuroimaging, Ph.D., Université Grenoble Alpes, France, https://tel.archives-ouvertes.fr/tel-01971574v1.

See Also

ApplyFwerCor, maxTinftyCor_SD

Examples

 
n <- 100
p <- 10
corr_theo <- diag(1,p)
corr_theo[1,3] <- 0.5
corr_theo[3,1] <- 0.5
data <- MASS::mvrnorm(n,rep(0,p),corr_theo)
# adjusted p-values
res <- maxTinftyCor(data,stat_test='empirical',Nboot=1000)
round(res,2)
# significant correlations with level alpha:
alpha <- 0.05
whichCor(res<alpha)
# directly
res <- maxTinftyCor(data,alpha,stat_test='empirical',Nboot=1000,arr.ind=TRUE)

[Package TestCor version 0.0.2.2 Index]