Learn R Programming

GeneNet (version 1.2.13)

ggm.simulate.pcor: Graphical Gaussian Models: Simulation of Networks

Description

ggm.simulate.pcor generates a random matrix of partial correlations that corresponds to a GGM network of a given size (num.nodes) with a specified fraction of non-zero edges.

Usage

ggm.simulate.pcor(num.nodes, etaA=0.05)

Arguments

num.nodes

number of nodes in the network

etaA

fraction of edges with non-zero partial correlation (default: 0.05)

Value

A positive definite partial correlation matrix.

Details

The output of ggm.simulate.pcor is always positive definite. This is ensured by using diagonally dominant matrices when generating the random GGM model. For the full algorithm see Sch\"afer and Strimmer (2005).

References

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

See Also

ggm.simulate.data,ggm.estimate.pcor.

Examples

Run this code
# NOT RUN {
# load GeneNet library
library("GeneNet")

# generate random network with 40 nodes 
# it contains 780=40*39/2 edges of which 5 percent (=39) are non-zero
true.pcor <- ggm.simulate.pcor(40)
  
# simulate data set with 40 observations
m.sim <- ggm.simulate.data(40, true.pcor)

# simple estimate of partial correlations
estimated.pcor <- cor2pcor( cor(m.sim) )

# comparison of estimated and true values
sum((true.pcor-estimated.pcor)^2)

# a slightly better estimate ...
estimated.pcor.2 <- ggm.estimate.pcor(m.sim)
sum((true.pcor-estimated.pcor.2)^2)

# }

Run the code above in your browser using DataLab