BonferroniCor_SD {TestCor}R Documentation

Bonferroni multiple testing method for correlations with stepdown procedure.

Description

Bonferroni multiple testing method for correlations with stepdown procedure.

Usage

BonferroniCor_SD(
  data,
  alpha = 0.05,
  stat_test = "empirical",
  vect = FALSE,
  logical = TRUE,
  arr.ind = FALSE
)

Arguments

data

matrix of observations

alpha

level of multiple testing

stat_test

4 test statistics are available:

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

vect

if TRUE returns a vector of TRUE/FALSE values, corresponding to vectorize(cor(data)); if FALSE, returns an array containing TRUE/FALSE 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 FALSE, returns a list of successive p-values : element [[i+1]] of the list giving the p-values evaluated on the non-rejected hypothesis at step [[i]]; p-values are either as a vector or a list depending on vect

arr.ind

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

Value

Returns

References

Bonferroni, C. E. (1935). Il calcolo delle assicurazioni su gruppi di teste. Studi in onore del professore salvatore ortu carboni, 13-60.

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, BonferroniCor

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)
alpha <- 0.05
# significant correlations:
BonferroniCor_SD(data,alpha,stat_test='empirical', arr.ind=TRUE)
# successive p-values
res <- BonferroniCor_SD(data,stat_test='empirical', logical=FALSE)
lapply(res,FUN=function(x){round(x,2)})
# succesive rejections
lapply(res,FUN=function(x){whichCor(x<alpha)})  

[Package TestCor version 0.0.2.2 Index]