gcor: Find the (Product-Moment) Correlation Between Two or More...

View source: R/gmultiv.R

gcorR Documentation

Find the (Product-Moment) Correlation Between Two or More Labeled Graphs

Description

gcor finds the product-moment correlation between the adjacency matrices of graphs indicated by g1 and g2 in stack dat (or possibly dat2). Missing values are permitted.

Usage

gcor(dat, dat2=NULL, g1=NULL, g2=NULL, diag=FALSE, mode="digraph")

Arguments

dat

one or more input graphs.

dat2

optionally, a second stack of graphs.

g1

the indices of dat reflecting the first set of graphs to be compared; by default, all members of dat are included.

g2

the indices or dat (or dat2, if applicable) reflecting the second set of graphs to be compared; by default, all members of dat are included.

diag

boolean indicating whether or not the diagonal should be treated as valid data. Set this true if and only if the data can contain loops. diag is FALSE by default.

mode

string indicating the type of graph being evaluated. "Digraph" indicates that edges should be interpreted as directed; "graph" indicates that edges are undirected. mode is set to "digraph" by default.

Details

The (product moment) graph correlation between labeled graphs G and H is given by

cor(G,H) = \frac{cov(G,H)}{\sqrt{cov(G,G) cov(H,H)}}

where the graph covariance is defined as

cov(G,H) = \frac{1}{{|V| \choose 2}} \sum_{\{i,j\}} \left(A^G_{ij}-\mu_G\right)\left(A^H_{ij}-\mu_H\right)

(with A^G being the adjacency matrix of G). The graph correlation/covariance is at the center of a number of graph comparison methods, including network variants of regression analysis, PCA, CCA, and the like.

Note that gcor computes only the correlation between uniquely labeled graphs. For the more general case, gscor is recommended.

Value

A graph correlation matrix

Note

The gcor routine is really just a front-end to the standard cor method; the primary value-added is the transparent vectorization of the input graphs (with intelligent handling of simple versus directed graphs, diagonals, etc.). As noted, the correlation coefficient returned is a standard Pearson's product-moment coefficient, and output should be interpreted accordingly. Classical null hypothesis testing procedures are not recommended for use with graph correlations; for nonparametric null hypothesis testing regarding graph correlations, see cugtest and qaptest. For multivariate correlations among graph sets, try netcancor.

Author(s)

Carter T. Butts buttsc@uci.edu

References

Butts, C.T., and Carley, K.M. (2001). “Multivariate Methods for Interstructural Analysis.” CASOS Working Paper, Carnegie Mellon University.

Krackhardt, D. (1987). “QAP Partialling as a Test of Spuriousness.” Social Networks, 9, 171-86

See Also

gscor, gcov, gscov

Examples

#Generate two random graphs each of low, medium, and high density
g<-rgraph(10,6,tprob=c(0.2,0.2,0.5,0.5,0.8,0.8))

#Examine the correlation matrix
gcor(g)

sna documentation built on Sept. 11, 2024, 8:45 p.m.

Related to gcor in sna...