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.