| Title: | Symmetrized Data Aggregation | 
| Version: | 1.0.0 | 
| Author: | Lilun Du [aut, cre], Xu Guo [ctb], Wenguang Sun [ctb], Changliang Zou [ctb] | 
| Maintainer: | Lilun Du <dulilun@ust.hk> | 
| Description: | We develop a new class of distribution free multiple testing rules for false discovery rate (FDR) control under general dependence. A key element in our proposal is a symmetrized data aggregation (SDA) approach to incorporating the dependence structure via sample splitting, data screening and information pooling. The proposed SDA filter first constructs a sequence of ranking statistics that fulfill global symmetry properties, and then chooses a data driven threshold along the ranking to control the FDR. For more information, see the website below and the accompanying paper: Du et al. (2020), "False Discovery Rate Control Under General Dependence By Symmetrized Data Aggregation", <doi:10.48550/arXiv.2002.11992>. | 
| License: | GPL-2 | GPL-3 [expanded from: GPL (≥ 2)] | 
| Encoding: | UTF-8 | 
| LazyData: | true | 
| RoxygenNote: | 7.0.2 | 
| Imports: | glmnet, glasso, huge, POET, stats | 
| Suggests: | testthat (≥ 2.1.0) | 
| Repository: | CRAN | 
| NeedsCompilation: | no | 
| Packaged: | 2020-03-12 03:55:33 UTC; dulilun | 
| Date/Publication: | 2020-03-19 13:30:05 UTC | 
Symmetrized Data Aggregation
Description
This is the core function for the paper posted in arXiv preprint arXiv:2002.11992
Usage
SDA_M(dat, alpha, Omega, nonsparse = FALSE, stable = TRUE)
Arguments
| dat | a n by p data matrix | 
| alpha | the FDR level | 
| Omega | the inverse covariance matrix; if missing, it will be estimated by the glasso package | 
| nonsparse | if TRUE, the covariance matrix will be estimated by the POET package | 
| stable | if TRUE, the sample will be randomly splitted B=10 times for stability performance; otherwise, only single sample splitting is used. | 
Value
the indices of the hypotheses rejected
Examples
n = 50
p = 100
dat = matrix(rnorm(n*p), nrow=n)
mu = rep(0, p)
mu[1:as.integer(0.1*p)]=0.3
dat = dat+rep(1, n)%*%t(mu)
alpha = 0.2
out = SDA_M(dat, alpha, diag(p))
print(out)