Create a multiplexed graph.

branch(..., .graphs = NULL, .prefix_branchops = "",
  .prefix_paths = FALSE)

Arguments

...

Multiple graphs, possibly named. They all must have exactly one output. If any of the arguments are named, then all must have unique names.

.graphs

([list of Graph]): Named list of Graphs, additionally to the graphs given in ....

.prefix_branchops

([character(1)]): Optional id prefix to prepend to PipeOpBranch and PipeOpUnbranch id. Their resulting IDs will be "[.prefix_branchops]branch" and "[.prefix_branchops]unbranch". Default is "".

.prefix_paths

([logical(1) | character(1)]): Whether to add prefixes to graph IDs when performing gunion. Can be helpful to avoid ID clashes in resulting graph. Default FALSE. If this is TRUE, the prefixes are taken from the names of the input arguments if present or "poX" where X counts up. If this is a character(1), it is a prefix that is added to the PipeOp IDs additionally to the input argument list.

Examples

library("mlr3") po_pca = po("pca") po_nop = po("nop") branches = branch(pca = po_pca, nothing = po_nop) # gives the same as branches = c("pca", "nothing") po("branch", branches) %>>% gunion(list(po_pca, po_nop)) %>>% po("unbranch", branches)
#> Graph with 4 PipeOps: #> ID State sccssors prdcssors #> branch <<UNTRAINED>> pca,nop #> pca <<UNTRAINED>> unbranch branch #> nop <<UNTRAINED>> unbranch branch #> unbranch <<UNTRAINED>> pca,nop
branch(pca = po_pca, nothing = po_nop, .prefix_branchops = "br_", .prefix_paths = "xy_")
#> Graph with 4 PipeOps: #> ID State sccssors prdcssors #> br_branch <<UNTRAINED>> xy_pca.pca,xy_nothi... #> xy_pca.pca <<UNTRAINED>> br_unbranch br_branch #> xy_nothing.nop <<UNTRAINED>> br_unbranch br_branch #> br_unbranch <<UNTRAINED>> xy_pca.pca,xy_nothi...
# gives the same as po("branch", branches, id = "br_branch") %>>% gunion(list(xy_pca = po_pca, xy_nothing = po_nop)) %>>% po("unbranch", branches, id = "br_unbranch")
#> Graph with 4 PipeOps: #> ID State sccssors prdcssors #> br_branch <<UNTRAINED>> xy_pca.pca,xy_nothi... #> xy_pca.pca <<UNTRAINED>> br_unbranch br_branch #> xy_nothing.nop <<UNTRAINED>> br_unbranch br_branch #> br_unbranch <<UNTRAINED>> xy_pca.pca,xy_nothi...