Calculates the reciprocity of a directed graph.
reciprocity(graph, ignore.loops = TRUE, mode = c("default", "ratio"))A numeric scalar between zero and one.
The graph object.
Logical constant, whether to ignore loop edges.
See below.
Tamas Nepusz ntamas@gmail.com and Gabor Csardi csardi.gabor@gmail.com
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.
g <- sample_gnp(20, 5/20, directed=TRUE)
reciprocity(g)
Run the code above in your browser using DataLab