ApplyFwerCor_oracle {TestCor} | R Documentation |
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 |
|
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 |
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 |
arr.ind |
if TRUE, returns the indexes of the significant correlations, with repspect to level alpha |
Value
Returns either
the adjusted p-values, as a vector or a matrix, depending on
vect
(unavailable with stepdown)logicals indicating if the corresponding correlation is significant if
logical=TRUE
, as a vector or a matrix depending onvect
,an array containing indexes
\lbrace(i,j),\,i<j\rbrace
for which correlation between variablesi
andj
is significant, ifarr.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é Grenoble Alpes, France, https://tel.archives-ouvertes.fr/tel-01971574v1.
See Also
ApplyFwerCor
maxTinftyCor, 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 <- ApplyFwerCor_oracle(data,corr_theo,stat_test='empirical',Nboot=1000,stepdown=FALSE))
# significant correlations, level alpha:
alpha <- 0.05
whichCor(res<alpha)