Differential Gene Expression Analysis with R
Overview
Analyses gene expression data derived from microarray experiments to detect differentially expressed genes (DEGs) by employing majority voting across five statistical models: Welch t-test, one-way ANOVA, Dunnett's test, Half's modified t-test, and the Wilcoxon-Mann-Whitney U-test. Combined p-values are computed with Fisher's method. Gene annotation is optional: users may supply a GEO SOFT annotation table or rely on row names directly. Boyer, R.S., Moore, J.S. (1991) doi:10.1007/978-94-011-3488-0_5.
Breaking changes
read_and_preprocess_data()has been removed. Its responsibilities are now handled internally by each test function via the new.prepare_data()helper inutils.R. Existing scripts that called this function directly must be updated to passdataframe,con1,con2,exp1,exp2to the test functions or toDGEAR()instead.
New features
- **Unified function interface**: all five test functions (
perform_t_test,perform_anova,perform_dunnett_test,perform_h_test,perform_wilcox_test) now share a consistent signature:(dataframe, con1, con2, exp1, exp2, alpha = 0.05, annot_df = NULL). - **Optional gene annotation** (
annot_df): users may supply a GEO SOFT-style annotationdata.framewith columnsIDandGene.Symbol(orGene.symbol) to map probe row names to gene symbols. Whenannot_df = NULL(the default), row names ofdataframeare used directly — making the package fully usable without any annotation file.
Show all changes in 0.2.1Hide the rest of the changes in 0.2.1
- **Richer
DGEAR()return value**: the main function now returns a named list with four elements: DEGs— genes that passed majority votingFDR_Table— per-test BH-adjusted p-values, Fisher-combined FDR, ensemble voting score, and log2FC for every geneResults_Table— concise summary (G_Symbol, CombineFDR, log2FC, Ensemble)IndividualTests— rawTableandDEGsoutput from each of the five test functions- **Fisher's combined p-value**:
DGEAR()now computes a combined p-value across all five tests usingmetapod::parallelFisherand includes it asCombineFDRinFDR_TableandResults_Table. - **Internal helpers in
utils.R**:.prepare_data()centralises log2 normalisation and.resolve_symbols()centralises gene symbol resolution, eliminating code duplication across test files. - **Defensive Dunnett test**:
perform_dunnett_test()now silently assignsNAp-values to genes with zero variance,NAvalues, or infinite values, rather than throwing an error that would abort the full analysis. - **Input validation in
DGEAR()**: informativestop()messages are raised for invalid column ranges,alphaoutside (0, 1), orvotting_cutoffoutside 1–5. - **82-test testthat suite**:
tests/testthat/now contains 7 test files covering structure, value sanity, biological correctness, defensive handling, alpha/cutoff sensitivity, and annotation behaviour for every exported function. - **Interactive demo script**:
inst/examples/DGEAR_demo.Ris a fully annotated walkthrough callable viasource(system.file("examples", "DGEAR_demo.R", package = "DGEAR")).
Bug fixes
- Eliminated the
R CMD checkNOTE *"no visible binding for global variable 'G_Symbol'"* by removing all reliance on globally defined annotation vectors. Gene symbols are now always resolved locally inside each function. - Removed
library(DGEAR)from all\examples{}blocks in.Rdfiles;R CMD checkloads the package automatically, so the call caused an error. - Wrapped
perform_dunnett_test()examples in\donttest{}to preventR CMD checkfailures from theDescTools::DunnettTestexternal dependency in constrained check environments. fdrcolumns are now consistently typed asinteger(0L / 1L) rather than a mix ofNAand numeric 1.
---
From NEWS.md in the release
Install
Health
- OK13 OK2026-08-05
- NOTE12 OK, 1 NOTE2026-08-01
- OK13 OK2026-06-09
- ERROR12 OK, 1 ERROR2026-06-08
- OK14 OK2026-03-10
Documentation
- Help pages
- 9 (2 internal)
- Examples that run
- 100%7 run in a plain check
- Exported functions with examples
- 100%
- Documented parameters
- 100%
- Return-value docs
- 100%
- Help pages citing references
- 11%
Downloads
Dependencies
Installing DGEAR adds 49 packages (32 with compiled code, 26 MB of source tarballs). Heaviest: data.table 5.7 MB, DescTools 2.6 MB, readxl 2.1 MB. 1 more not on CRAN is not measured.
Code & Tests
Datasets
People & History
Pick two releases to compare their code metrics.
- 0.2.1Latest
- RR 4.6.0 released · 2026-04-24
- RR 4.5.0 released · 2025-04-11
- 0.1.42024-06-26 · diff ↗
- RR 4.4.0 released · 2024-04-24
- 0.1.32023-08-30
- RR 4.3.0 released · 2023-04-21
Package metadata
- First published
- 2023-08-30
- Total releases
- 3 / 3 yrs
- License
- MIT + file LICENSE OSI · relicensed from GPL-3 in 0.1.4
- Minimum R
- ≥ 3.5.0
- Bundled data
- 0.5 KB / 1 file
- Download size
- 15 KB
Cite
Cite this package
Run in R for the authors' preferred citation:
citation("DGEAR")This package has no citation file, so citation() returns this entry built from DESCRIPTION.
Cite the R Observatory
For a number measured here: a download total, a coverage figure, an archival date.
From data release v2026-10-19, which the citation names so these numbers can be found later. More on citing and the projects behind them.