Learn R Programming

DiagrammeR (version 1.0.9)

join_edge_attrs: Join new edge attribute values using a data frame

Description

Join new edge attribute values in a left join using a data frame. The use of a left join in this function allows for no possibility that edges in the graph might be removed after the join.

Usage

join_edge_attrs(graph, df, by_graph = NULL, by_df = NULL)

Value

A graph object of class dgr_graph.

Arguments

graph

A graph object of class dgr_graph.

df

The data frame to use for joining.

by_graph

Optional specification of the column in the graph's internal edge data frame for the left join. If both by_graph and by_df are not provided, then a natural join will occur if there are columns in the graph's edf and in df with identical names.

by_df

Optional specification of the column in df for the left join. If both by_graph and by_df are not provided, then a natural join will occur if there are columns in the graph's edf and in df with identical names.

See Also

Other Edge creation and removal: add_edge_clone(), add_edge_df(), add_edges_from_table(), add_edges_w_string(), add_edge(), add_forward_edges_ws(), add_reverse_edges_ws(), copy_edge_attrs(), create_edge_df(), delete_edges_ws(), delete_edge(), delete_loop_edges_ws(), drop_edge_attrs(), edge_data(), mutate_edge_attrs_ws(), mutate_edge_attrs(), recode_edge_attrs(), rename_edge_attrs(), rescale_edge_attrs(), rev_edge_dir_ws(), rev_edge_dir(), set_edge_attr_to_display(), set_edge_attrs_ws(), set_edge_attrs()

Examples

Run this code
# Set a seed
suppressWarnings(RNGversion("3.5.0"))
set.seed(23)

# Create a simple graph
graph <-
  create_graph() %>%
  add_n_nodes(n = 5) %>%
  add_edges_w_string(
    edges = "1->2 1->3 2->4 2->5 3->5")

# Create a data frame with node ID values
# representing the graph edges (with `from` and `to`
# columns), and, a set of numeric values
df <-
  data.frame(
    from = c(1, 1, 2, 2, 3),
    to = c(2, 3, 4, 5, 5),
    values = rnorm(5, 5))

# Join the values in the data frame to the
# graph's edges; this works as a left join using
# identically-named columns in the graph and the df
# (in this case `from` and `to` are common to both)
graph <-
  graph %>%
  join_edge_attrs(
    df = df)

# Get the graph's internal edf to show that the
# join has been made
graph %>% get_edge_df()

Run the code above in your browser using DataLab