get_reciprocity {DiagrammeR} | R Documentation

## Get the graph reciprocity

### Description

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() %>%
      add_cycle(n = 3) %>%
      add_node(
        from = 1,
          to = 1) %>%
      add_node(
        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)
    get_reciprocity(graph)
    #> [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() %>%
      add_n_nodes(n = 5) %>%
      get_reciprocity()
    #> [1] NA

[Package DiagrammeR version 0.9.2 Index]