degree_pearson_correlation_coefficient#

degree_pearson_correlation_coefficient(G, x='out', y='in', weight=None, nodes=None)[source]#

Compute degree assortativity of graph.

Assortativity measures the similarity of connections in the graph with respect to the node degree.

This is the same as degree_assortativity_coefficient but uses the potentially faster scipy.stats.pearsonr function.

Parameters:
GNetworkX graph
x: string (‘in’,’out’)

The degree type for source node (directed graphs only).

y: string (‘in’,’out’)

The degree type for target node (directed graphs only).

weight: string or None, optional (default=None)

The edge attribute that holds the numerical value used as a weight. If None, then each edge has weight 1. The degree is the sum of the edge weights adjacent to the node.

nodes: list or iterable (optional)

Compute pearson correlation of degrees only for specified nodes. The default is all nodes.

Returns:
rfloat

Assortativity of graph by degree.

Notes

This calls scipy.stats.pearsonr.

Returns nan if the graph has fewer than two (degree, degree) pairs, since the Pearson correlation coefficient is undefined in that case.

References

[1]

M. E. J. Newman, Mixing patterns in networks Physical Review E, 67 026126, 2003

[2]

Foster, J.G., Foster, D.V., Grassberger, P. & Paczuski, M. Edge direction and the structure of networks, PNAS 107, 10815-20 (2010).

Examples

>>> G = nx.path_graph(4)
>>> r = nx.degree_pearson_correlation_coefficient(G)
>>> print(f"{r:3.1f}")
-0.5