transform_to_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

    transform_to_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 using the
    # `add_gnm_graph()` function
    graph <-
      create_graph() %>%
      add_gnm_graph(
        n = 10,
        m = 15,
        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 %>%
      transform_to_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 1.0.1 Index]