| join_node_attrs {DiagrammeR} | R Documentation |
Join new node attribute values in a left join using a data frame. The use of a left join in this function allows for no possibility that nodes in the graph might be removed after the join.
join_node_attrs(graph, df, by_graph = NULL, by_df = NULL)
graph |
a graph object of class
|
df |
the data frame to use for joining. |
by_graph |
optional specification of the column
in the graph's internal node data frame for the left
join. If both |
by_df |
optional specification of the column in
|
a graph object of class dgr_graph.
# Set a seed
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 and a
# set of numeric values
df <-
data.frame(
values = round(rnorm(6, 5), 2),
id = 1:6)
# Join the values in the data frame to the
# graph's nodes; this works as a left join using
# identically-named columns in the graph and the df
# (in this case the `id` column is common to both)
graph <-
graph %>%
join_node_attrs(
df = df)
# Get the graph's internal ndf to show that the
# join has been made
graph %>%
get_node_df()
# Get betweenness values for each node and
# add them as a node attribute (Note the
# common column name `id` in the different
# tables results in a natural join)
graph <-
graph %>%
join_node_attrs(
df = get_betweenness(.))
# Get the graph's internal ndf to show that
# this join has been made
graph %>%
get_node_df()