Takes an arbitrary amount of Graphs or PipeOps (or objects that can be automatically
converted into Graphs or PipeOps, see as_graph() and as_pipeop()) as inputs and joins
them in a serial Graph, as if connecting them using %>>%.
Care is taken to avoid unnecessarily cloning of components. A call of
chain_graphs(list(g1, g2, g3, g4, ...), in_place = FALSE) is equivalent to
g1 %>>% g2 %>>!% g3 %>>!% g4 %>>!% ....
A call of chain_graphs(list(g1, g2, g3, g4, ...), in_place = FALSE)
is equivalent to g1 %>>!% g2 %>>!% g3 %>>!% g4 %>>!% ... (differing in the
first operator being %>>!% as well).
chain_graphs(graphs, in_place = FALSE)Graph the resulting Graph, or NULL if there are no non-null values in graphs.
list of (Graph | PipeOp | NULL | ...)
List of elements which are the
Graphs to be joined. Elements must be convertible to Graph or PipeOp using as_graph() and as_pipeop().
NULL is the neutral element of %>>% and skipped.
(logical(1))
Whether to try to avoid cloning the first element of graphs, similar to the difference
of %>>!% over %>>%. This can only be avoided if graphs[[1]] is already a Graph.
Beware that, if chain_graphs() fails because of id collisions, then graphs[[1]] will possibly be in an incompletely
modified state when in_place is TRUE.
Other Graph operators:
%>>%(),
as_graph(),
as_pipeop(),
assert_graph(),
assert_pipeop(),
greplicate(),
gunion(),
mlr_graphs_greplicate