Learn R Programming

DEGraph (version 1.24.0)

hyper.test: Performs an hypergeometric test of enrichment of a set of hypotheses in significant elements

Description

Performs an hypergeometric test of enrichment of a set of hypotheses in significant elements.

Usage

hyper.test(p.values, testSet, thr=0.001, universe=length(p.values), verbose=FALSE)

Arguments

p.values
A named numeric vector giving the p-values of all tested elements.
testSet
A character vector giving the ids of the elements in the tested set. Elements of 'testSet' must have a match in 'names(p.values)'.
thr
A numeric value between 0 and 1 giving the threshold on p-values at which an element is declared to be significant.
universe
An integer value giving the number of elelments in the considered universe. Defaults to 'length(p.values)'.
verbose
If TRUE, extra information is output.

Value

A list with class "htest" containing the following components:
statistic
A numeric value, the test statistic.
p.value
A numeric value, the corresponding p-value.

See Also

AN.test() BS.test() graph.T2.test()

Examples

Run this code
library("KEGGgraph")
## library("NCIgraph")
library("rrcov")

data("Loi2008_DEGraphVignette")
exprData <- exprLoi2008
classData <- classLoi2008
rn <- rownames(exprData)

## Retrieve expression levels data for genes from one KEGG pathway
gr <- grListKEGG[[1]]
gids <- translateKEGGID2GeneID(nodes(gr))
mm <- match(gids, rownames(exprData))

## Keep genes from the graph that are present in the expression data set
idxs <- which(!is.na(mm))
gr <- subGraph(nodes(gr)[idxs], gr)

idxs <- which(is.na(mm))
if(length(idxs)) {
  print("Gene ID not found in expression data: ")
  str(gids[idxs])
}
dat <- exprData[na.omit(mm), ]
str(dat)

X1 <- t(dat[, classData==0])
X2 <- t(dat[, classData==1])

## DEGraph T2 test
res <- testOneGraph(gr, exprData, classData, verbose=TRUE, prop=0.2)

## T2 test (Hotelling)
rT2 <- T2.test(X1, X2)
str(rT2)

## Adaptive Neyman test
rAN <- AN.test(X1, X2, na.rm=TRUE)
str(rAN)

## Adaptive Neyman test from Fan and Lin (1998)
rAN <- AN.test(X1, X2, na.rm=TRUE)
str(rAN)

## Test from Bai and Saranadasa (1996)
rBS <- BS.test(X1, X2, na.rm=TRUE)
str(rBS)

## Hypergeometric test
pValues <- apply(exprData, 1, FUN=function(x) {
  tt <- t.test(x[classData==0], x[classData==1])
  tt$p.value
})
str(pValues)
names(pValues) <- rownames(exprData)
rHyper <- hyper.test(pValues, gids, thr=0.01)
str(rHyper)

Run the code above in your browser using DataLab