Takes an arbitrary amount of Graph
s or PipeOp
s (or objects that can be automatically
converted into Graph
s or PipeOp
s, 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
Graph
s 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