TestCor (version 0.0.2.2)

ApplyFwerCor_oracle: Applies an oracle version of MaxTinfty procedure described in Drton & Perlman (2007) for correlation testing.

Description

Applies oracle MaxTinfty procedure described in Drton & Perlman (2007) which controls asymptotically the FWER for tests on a correlation matrix. It needs the true correlation matrix.

Usage

ApplyFwerCor_oracle(
  data,
  corr_theo,
  alpha = c(),
  stat_test = "empirical",
  method = "MaxTinfty",
  Nboot = 1000,
  stepdown = TRUE,
  vect = FALSE,
  logical = stepdown,
  arr.ind = FALSE
)

Arguments

data

matrix of observations

corr_theo

true matrix of correlations

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))\)

method

only 'MaxTinfty' implemented

Nboot

number of iterations for Monte-Carlo of bootstrap quantile evaluation

stepdown

logical, if TRUE a stepdown procedure is applied

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 if stepdown=TRUE and logical=FALSE, returns a list of successive p-values.

arr.ind

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

Value

Returns either

  • logicals indicating if the corresponding correlation is significant if logical=TRUE, as a vector or a matrix depending on vect,

  • an array containing indexes \(\lbrace(i,j),\,i<j\rbrace\) for which correlation between variables \(i\) and \(j\) is significant, if arr.ind=TRUE.

Oracle estimation of the quantile is used, based on the true correlation matrix

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<U+00E9> Grenoble Alpes, France, https://tel.archives-ouvertes.fr/tel-01971574v1.

See Also

ApplyFwerCor

maxTinftyCor, maxTinftyCor_SD

Examples

Run this code
# NOT RUN {
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 <- ApplyFwerCor_oracle(data,corr_theo,stat_test='empirical',Nboot=1000,stepdown=FALSE))
# significant correlations, level alpha:
alpha <- 0.05
whichCor(res<alpha)
# }

Run the code above in your browser using DataLab