select_nodes {DiagrammeR} | R Documentation |
Select nodes from a graph object of
class dgr_graph
.
select_nodes(graph, node_attr = NULL, search = NULL, set_op = "union", nodes = NULL)
graph |
a graph object of class
|
node_attr |
an optional character vector of node attribute values for filtering the node ID values returned. |
search |
an option to provide a logical
expression with a comparison operator ( |
set_op |
the set operation to perform upon
consecutive selections of graph nodes. This can
either be as a |
nodes |
an optional vector of node IDs for filtering list of nodes present in the graph. |
a graph object of class dgr_graph
.
library(magrittr) # Create a node data frame (ndf) nodes <- create_nodes( nodes = c("a", "b", "c", "d"), type = c("A", "A", "Z", "Z"), label = TRUE, value = c(3.5, 2.6, 9.4, 2.7)) # Create an edge data frame (edf) edges <- create_edges( from = c("a", "b", "c"), to = c("d", "c", "a"), rel = c("A", "Z", "A")) # Create a graph with the ndf and edf graph <- create_graph(nodes_df = nodes, edges_df = edges) # Explicitly select nodes `a` and `c` graph <- graph %>% select_nodes( nodes = c("a", "c")) # Verify that the node selection has been made # using the `get_selection()` function get_selection(graph) #> $nodes #> [1] "a" "c" # Select nodes based on the node `type` # being `Z` graph <- graph %>% clear_selection %>% select_nodes( node_attr = "type", search = "Z") # Verify that an node selection has been made, and # recall that the `c` and `d` nodes are of the # `Z` type get_selection(graph) #> $nodes #> [1] "c" "d" # Select edges based on the node value attribute # being greater than 3.0 (first clearing the current # selection of nodes) graph <- graph %>% clear_selection %>% select_nodes( node_attr = "value", search = ">3.0") # Verify that the correct node selection has been # made; in this case, nodes `a` and `c` have values # for `value` greater than 3.0 get_selection(graph) #> $nodes #> [1] "a" "c"