Multiple Testing Across Genes and Contrasts
Identify which genes are significantly differentially expressed from an edgeR fit object containing p-values and test statistics.
decideTestsDGE(object, adjust.method="BH", p.value=0.05, lfc=0) ## S3 method for class 'DGELRT' decideTests(object, adjust.method="BH", p.value=0.05, lfc=0, ...)
object |
|
adjust.method |
character string specifying p-value adjustment method.
Possible values are |
p.value |
numeric value between 0 and 1 giving the required family-wise error rate or false discovery rate. |
lfc |
numeric, minimum absolute log2-fold-change required. |
... |
other arguments are not used. |
This function applies a multiple testing procedure and significance level cutoff to the genewise tests contained in object
.
An object of class TestResults
.
This is essentially a single-column integer matrix with elements -1
, 0
or 1
indicating whether each gene is classified as
significantly down-regulated, not significant or
significant up-regulated for the comparison contained in object
.
To be considered significant, genes have to have adjusted p-value below p.value
and log2-fold-change greater than lfc
.
If object
contains F-tests or LRTs for multiple contrasts, then the genes are simply classified as significant (1) or not significant.
In this case, the log2-fold-change theshold lfc
has to be achieved by at least one of the contrastsf or a gene to be significant.
Although this function enables users to set p-value and lfc cutoffs simultaneously, this combination criterion not usually recommended.
Unless the fold changes and p-values are very highly correlated, the addition of a fold change cutoff can increase the family-wise error rate or false discovery rate above the nominal level.
Users wanting to use fold change thresholding should considering using glmTreat
instead and leaving lfc
at the default value when using decideTestsDGE
.
Davis McCarthy, Gordon Smyth and the edgeR team
decideTests
and TestResults
in the limma package.
ngenes <- 100 x1 <- rnorm(6) x2 <- rnorm(6) design <- cbind(Intercept=1,x1,x2) beta <- matrix(0,ngenes,3) beta[,1] <- 4 beta[1:20,2] <- rnorm(20) mu <- 2^(beta %*% t(design)) y <- matrix(rnbinom(ngenes*6,mu=mu,size=10),ngenes,6) fit <- glmFit(y,design,dispersion=0.1) lrt <- glmLRT(fit,coef=2:3) res <- decideTests(lrt,p.value=0.1) summary(res) lrt <- glmLRT(fit,coef=2) res <- decideTests(lrt,p.value=0.1) summary(res)
Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.