ggm.test.edges {GeneNet}R Documentation

Graphical Gaussian Models: Testing Edges

Description

ggm.list.edges returns a table with all correlations sorted according to magnitude, as well as the two node numbers associated with each edge.

ggm.test.edges in addition assigns statistical significance to the edges in a GGM network by computing p-values, q-values and posterior probabilities for each potential edge.

Usage

ggm.list.edges(r.mat)
ggm.test.edges(r.mat, ...)

Arguments

r.mat matrix of partial correlations
... parameters passed on to fdrtool

Details

A mixture model is fitted to the partial correlations using fdrtool. This is used to compute (i) two-sided p-values to test non-zero correlation, (ii) corresponding posterior probabilities (= 1- local fdr), as well as (iii) tail area-based q-values.

Theoretical details are explained in Schaefer and Strimmer (2005), along with a simulation study and an application to gene expression data.

Value

A sorted data frame with the following columns:

pcor correlation (from r.mat)
node1 first node connected to edge
node2 second node connected to edge
pval p-value
qval q-value
prob probability that edge is nonzero (= 1-local fdr


Each row in the data frame corresponds to one edge, and the rows are sorted according the absolute strength of the correlation (from strongest to weakest)
ggm.list.edges returns only the first three columns.

Author(s)

Juliane Schaefer (http://www.stat.math.ethz.ch/~schaefer/) and Korbinian Strimmer (http://strimmerlab.org).

References

Schaefer, J., and Strimmer, K. (2005). An empirical Bayes approach to inferring large-scale gene association networks. Bioinformatics 21:754-764.

See Also

cor0.test, fdr.control, ggm.estimate.pcor.

Examples

# load GeneNet library
library("GeneNet")
 
# ecoli data 
data(ecoli)

# estimate partial correlation matrix 
inferred.pcor <- ggm.estimate.pcor(ecoli)

# p-values, q-values and posterior probabilities for each edge 
#
test.results <- ggm.test.edges(inferred.pcor)

# show best 20 edges (strongest correlation)
test.results[1:20,]

# how many are significant based on FDR cutoff Q=0.05 ?
num.significant.1 <- sum(test.results$qval <= 0.05)
test.results[1:num.significant.1,]

# how many are significant based on "local fdr" cutoff (prob > 0.95) ?
num.significant.2 <- sum(test.results$prob > 0.95)
test.results[test.results$prob > 0.95,]

# parameters of the mixture distribution used to compute p-values etc.
c <- fdrtool(sm2vec(inferred.pcor), statistic="correlation")
c$param

[Package GeneNet version 1.1.0 Index]