Skip to contents

Create a data.frame from an edgeR results object. This function calls edgeR::topTags() on the object and extracts the table data.frame with all features.

Usage

edger_to_df(res_obj, ...)

Arguments

res_obj

edgeR results object to be converted

...

Additional arguments passed to edgeR::topTags()

Value

data.frame

Examples

library(edgeR)
#> Loading required package: limma
library(coriell)

# create some fake data
x <- data.frame(
  ctl1 = rnbinom(1000, size = 0.4, prob = 1e-5),
  ctl2 = rnbinom(1000, size = 0.4, prob = 1e-5),
  trt1 = rnbinom(1000, size = 0.4, prob = 1e-5),
  trt2 = rnbinom(1000, size = 0.4, prob = 1e-5),
  row.names = paste0("gene", 1:1000)
)

# run edger pipeline
group <- factor(c(1, 1, 2, 2))
y <- DGEList(counts = x, group = group)
y <- calcNormFactors(y)
design <- model.matrix(~group)
y <- estimateDisp(y, design)

# To perform quasi-likelihood F-tests:
fit <- glmQLFit(y, design)
qlf <- glmQLFTest(fit, coef = 2)

# convert the results object to a dataframe -- do not filter the results
res_df <- edger_to_df(qlf)

head(res_df)
#>   feature_id     logFC    logCPM         F      PValue       FDR
#> 1    gene594 -13.24234 10.480084 14.356292 0.001158432 0.6621542
#> 2    gene540  11.21107  8.757970 10.835400 0.003672453 0.6621542
#> 3    gene227  -9.82117  9.394335 10.000469 0.004987550 0.6621542
#> 4    gene457   9.76675  9.684480  9.487227 0.006013165 0.6621542
#> 5    gene278  12.23098 10.813620  9.422169 0.006123566 0.6621542
#> 6    gene347 -11.30740  8.118997  9.386549 0.006125219 0.6621542