ApplyFdrCor: Applies multiple testing procedures built to control...

Description Usage Arguments Value References See Also Examples

View source: R/ApplyFwer.R

Description

Applies multiple testing procedures built to control (asymptotically) the FDR for correlation testing. Some have no theoretical proofs for tests on a correlation matrix.

Usage

1
2
3
4
5
6
7
8
9
ApplyFdrCor(
  data,
  alpha = 0.05,
  stat_test = "empirical",
  method = "LCTnorm",
  Nboot = 1000,
  vect = FALSE,
  arr.ind = FALSE
)

Arguments

data

matrix of observations

alpha

level of multiple testing

stat_test
'empirical'

√{n}*abs(corr)

'fisher'

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

'student'

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

'2nd.order'

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

method

choice between 'LCTnorm' and 'LCTboot' developped by Cai & Liu (2016), 'BH', traditional Benjamini-Hochberg's procedure Benjamini & Hochberg (1995)'s and 'BHboot', Benjamini-Hochberg (1995)'s procedure with bootstrap evaluation of p-values

Nboot

number of iterations for bootstrap p-values evaluation

vect

if TRUE returns a vector of TRUE/FALSE values, corresponding to vectorize(cor(data)); if FALSE, returns an array containing rows and columns of significant correlations

arr.ind

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

Value

Returns either

References

Benjamini, Y., & Hochberg, Y. (1995). Controlling the false discovery rate: a practical and powerful approach to multiple testing. Journal of the royal statistical society. Series B (Methodological), 289-300.

Cai, T. T., & Liu, W. (2016). Large-scale multiple testing of correlations. Journal of the American Statistical Association, 111(513), 229-240.

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

LCTnorm, LCTboot, BHCor, BHBootCor

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
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)
res <- ApplyFdrCor(data,stat_test='empirical',method='LCTnorm')
# significant correlations, level alpha:
alpha <- 0.05
whichCor(res<alpha)

TestCor documentation built on Oct. 23, 2020, 5:31 p.m.