Create a subgraph using a node or edge selection
Source:R/transform_to_subgraph_ws.R
transform_to_subgraph_ws.RdCreate a subgraph based on a selection of nodes or edges stored in the graph object.
This function makes use of an active selection of nodes or edges (and the
function ending with _ws hints at this).
Selections of nodes can be performed using the following node selection
(select_*()) functions: select_nodes(), select_last_nodes_created(),
select_nodes_by_degree(), select_nodes_by_id(), or
select_nodes_in_neighborhood().
Selections of edges can be performed using the following edge selection
(select_*()) functions: select_edges(), select_last_edges_created(),
select_edges_by_edge_id(), or select_edges_by_node_id().
Selections of nodes or edges can also be performed using the following
traversal (trav_*()) functions: trav_out(), trav_in(), trav_both(),
trav_out_node(), trav_in_node(), trav_out_until(), trav_in_until(),
trav_out_edge(), trav_in_edge(), trav_both_edge(), or
trav_reverse_edge().
Examples
# Create a node data frame (ndf)
ndf <-
create_node_df(
n = 6,
value =
c(3.5, 2.6, 9.4,
2.7, 5.2, 2.1))
# Create an edge data frame (edf)
edf <-
create_edge_df(
from = c(1, 2, 4, 5, 2, 6, 2),
to = c(2, 4, 1, 3, 5, 5, 4))
# Create a graph
graph <-
create_graph(
nodes_df = ndf,
edges_df = edf)
# Create a selection of nodes, this selects
# nodes `1`, `3`, and `5`
graph <-
graph %>%
select_nodes(
conditions = value > 3)
# Create a subgraph based on the selection
subgraph <-
graph %>%
transform_to_subgraph_ws()
# Display the graph's node data frame
subgraph %>% get_node_df()
#> id type label value
#> 1 1 <NA> <NA> 3.5
#> 2 3 <NA> <NA> 9.4
#> 3 5 <NA> <NA> 5.2
# Display the graph's edge data frame
subgraph %>% get_edge_df()
#> id from to rel
#> 1 4 5 3 <NA>
# Create a selection of edges, this selects
# edges `1`, `2`
graph <-
graph %>%
clear_selection() %>%
select_edges(
edges = c(1,2))
# Create a subgraph based on the selection
subgraph <-
graph %>%
transform_to_subgraph_ws()
# Display the graph's node data frame
subgraph %>% get_node_df()
#> id type label value
#> 1 1 <NA> <NA> 3.5
#> 2 2 <NA> <NA> 2.6
#> 3 4 <NA> <NA> 2.7
# Display the graph's edge data frame
subgraph %>% get_edge_df()
#> id from to rel
#> 1 1 1 2 <NA>
#> 2 2 2 4 <NA>