Get the reciprocity of a directed graph. The reciprocity of a graph is the fraction of reciprocal edges (e.g., 1 -> 2 and 2 -> 1) over all edges available in the graph. Note that for an undirected graph, all edges are reciprocal. This function does not consider loop edges (e.g., 1 -> 1).

## Usage

get_reciprocity(graph)

## Arguments

graph

A graph object of class dgr_graph.

## Value

A single, numerical value that is the ratio value of reciprocal edges over all graph edges.

## Examples

# Define a graph where 2 edge definitions
# have pairs of reciprocal edges
graph <-
create_graph() %>%
from = 1,
to = 1) %>%
from = 1,
to = 1)

# Get the graph reciprocity, which will
# be calculated as the ratio 4/7 (where
# 4 is the number reciprocating edges
# and 7 is the total number of edges
# in the graph)
graph %>%
get_reciprocity()
#> [1] 0.5714286

# For an undirected graph, all edges
# are reciprocal, so the ratio will
# always be 1
graph %>%
set_graph_undirected() %>%
get_reciprocity()
#> [1] 1

# For a graph with no edges, the graph
# reciprocity cannot be determined (and
# the same NA result is obtained from an
# empty graph)
create_graph() %>%
get_reciprocity()
#> [1] NA