igraph (version 1.0.1)

reciprocity: Reciprocity of graphs

Description

Calculates the reciprocity of a directed graph.

Usage

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

Arguments

graph

The graph object.

ignore.loops

Logical constant, whether to ignore loop edges.

mode

See below.

Value

A numeric scalar between zero and one.

Details

The measure of reciprocity defines the proporsion 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-reciprocaly 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
# NOT RUN {
g <- sample_gnp(20, 5/20, directed=TRUE)
reciprocity(g)
# }

Run the code above in your browser using DataCamp Workspace