Learn R Programming

igraph (version 1.3.5)

reciprocity: Reciprocity of graphs

Description

Calculates the reciprocity of a directed graph.

Usage

reciprocity(graph, ignore.loops = TRUE, mode = c("default", "ratio"))

Value

A numeric scalar between zero and one.

Arguments

graph

The graph object.

ignore.loops

Logical constant, whether to ignore loop edges.

mode

See below.

Author

Tamas Nepusz ntamas@gmail.com and Gabor Csardi csardi.gabor@gmail.com

Details

The measure of reciprocity defines the proportion of mutual connections, in a directed graph. It is most commonly defined as the probability that the opposite counterpart of a directed edge is also included in the graph. Or in adjacency matrix notation: \(\sum_{ij} (A\cdot A')_{ij}\), where \(A\cdot A'\) is the element-wise product of matrix \(A\) and its transpose. This measure is calculated if the mode argument is default.

Prior to igraph version 0.6, another measure was implemented, defined as the probability of mutual connection between a vertex pair, if we know that there is a (possibly non-mutual) connection between them. In other words, (unordered) vertex pairs are classified into three groups: (1) not-connected, (2) non-reciprocally connected, (3) reciprocally connected. The result is the size of group (3), divided by the sum of group sizes (2)+(3). This measure is calculated if mode is ratio.

Examples

Run this code

g <- sample_gnp(20, 5/20, directed=TRUE)
reciprocity(g)

Run the code above in your browser using DataLab