get_attr_dfs {DiagrammeR} | R Documentation |
From a graph object of class
dgr_graph
, get one or more data frames
already bound as node and/or edge attribute
values given graph node and/or edges.
get_attr_dfs(graph, node_id = NULL, edge_id = NULL, return_format = "single_tbl")
graph |
a graph object of class
|
node_id |
a vector of node ID values in which data frames are bound as node attrs. |
edge_id |
a vector of edge ID values in which data frames are bound as edge attrs. |
return_format |
the format in which to
return the results of several data frames. These
can either be: (1) |
either a tibble or a data frame.
# Create a node data frame (ndf) ndf <- create_node_df( n = 4, type = "basic", label = TRUE, value = c(3.5, 2.6, 9.4, 2.7)) # Create an edge data frame (edf) edf <- create_edge_df( from = c(1, 2, 3), to = c(4, 3, 1), rel = "leading_to") # Create a graph graph <- create_graph( nodes_df = ndf, edges_df = edf) # Create 3 simple data frames to add as # attributes to nodes/edges df_1 <- data.frame( a = c("one", "two"), b = c(1, 2), stringsAsFactors = FALSE) df_2 <- data.frame( a = c("three", "four"), b = c(3, 4), stringsAsFactors = FALSE) df_for_edges <- data.frame( c = c("five", "six"), d = c(5, 6), stringsAsFactors = FALSE) # Bind data frames as node attributes # for nodes `1` and `4`; bind a data # frame as an edge attribute as well graph <- graph %>% set_df_as_node_attr( node = 1, df = df_1) %>% set_df_as_node_attr( node = 4, df = df_2) %>% set_df_as_edge_attr( edge = 1, df = df_for_edges) # Get a single tibble by specifying the # nodes from which there are data frames # bound as node attributes get_attr_dfs( graph, node_id = c(1, 4)) # You can also get data frames that are # associated with edges by using the # same function get_attr_dfs( graph, edge_id = 1) # It's also possible to collect data frames # associated with both nodes and edges get_attr_dfs( graph, node_id = 4, edge_id = 1) # If a data frame is desired instead, # set `return_format = "single_df"` get_attr_dfs( graph, edge_id = 1, return_format = "single_df")