get_min_spanning_tree {DiagrammeR} | R Documentation

## Get a minimum spanning tree subgraph

### Description

Get a minimum spanning tree subgraph for a connected graph of class `dgr_graph`.

### Usage

    get_min_spanning_tree(graph)

### Arguments

`graph` | a graph object of class `dgr_graph`.

### Value

a graph object of class `dgr_graph`.

### Examples

    # Create a random graph
    graph <-
      create_random_graph(
        n = 10, m = 22,
        set_seed = 23)

    # Obtain Jaccard similarity values for each
    # pair of nodes as a square matrix
    j_sim_matrix <-
      graph %>%
        get_jaccard_similarity()

    # Create a weighted, undirected graph from the
    # resultant matrix (effectively treating that
    # matrix as an adjacency matrix)
    graph <-
      j_sim_matrix %>%
      from_adj_matrix(weighted = TRUE)

    # The graph in this case is a fully connected graph
    # with loops, where jaccard similarity values are
    # assigned as edge weights (edge attribute `weight`);
    # The minimum spanning tree for this graph is the
    # connected subgraph where the edges retained have
    # the lowest similarity values possible
    min_spanning_tree_graph <-
      graph %>%
      get_min_spanning_tree() %>%
      copy_edge_attrs(
        edge_attr_from = weight,
        edge_attr_to = label) %>%
      set_edge_attrs(
        edge_attr = fontname,
        values = "Helvetica") %>%
      set_edge_attrs(
        edge_attr = color,
        values = "gray85") %>%
      rescale_edge_attrs(
        edge_attr_from = weight,
        to_lower_bound = 0.5,
        to_upper_bound = 4.0,
          edge_attr_to = penwidth)

[Package DiagrammeR version 0.9.2 Index]