decideTests {edgeR} | R Documentation

## Multiple Testing Across Genes and Contrasts

### Description

Identify which genes are significantly differentially expressed from an edgeR fit object containing p-values and test statistics.

### Usage

    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, ...)

### Arguments

`object` | `DGEExact`, `DGELRT` or `glmQLFTest` object from which p-values and log-fold-changes can be extracted.
`adjust.method` | character string specifying p-value adjustment method. Possible values are `"none"`, `"BH"`, `"fdr"` (equivalent to `"BH"`), `"BY"` and `"holm"`. See `p.adjust` for details.
`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.

### Details

This function applies a multiple testing procedure and significance level cutoff to the genewise tests contained in `object`.

### Value

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.

### Note

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`.

### Author(s)

Davis McCarthy, Gordon Smyth and the edgeR team

### See Also

`decideTests` and `TestResults` in the limma package.

### Examples

    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)

[Package edgeR version 3.20.9 Index]