DiagrammeR (version 0.9.2)

get_min_spanning_tree: 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

Run this code
# NOT RUN {
# 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)
# }

Run the code above in your browser using DataLab