As a tbl_graph can be considered as a collection of two linked tables it is
necessary to specify which table is referenced during manipulations. The
activate
verb does just that and needs affects all subsequent manipulations
until a new table is activated. active
is a simple query function to get
the currently acitve context. In addition to the use of activate
it is also
possible to activate nodes or edges as part of the piping using the %N>%
and %E>%
pipes respectively. Do note that this approach somewhat obscures
what is going on and is thus only recommended for quick, one-line, fixes in
interactive use.
activate(.data, what)
active(x)
lhs %N>% rhs
lhs %E>% rhs
A tbl_graph or a grouped_tbl_graph
What should get activated? Possible values are nodes
or
edges
.
A function to pipe into
A tbl_graph
Activate will ungroup a grouped_tbl_graph.
gr <- create_complete(5) %>%
activate(nodes) %>%
mutate(class = sample(c('a', 'b'), 5, TRUE)) %>%
activate(edges) %>%
arrange(from)
# The above could be achieved using the special pipes as well
gr <- create_complete(5) %N>%
mutate(class = sample(c('a', 'b'), 5, TRUE)) %E>%
arrange(from)
# But as you can see it obscures what part of the graph is being targeted