# branch

##### Branch Between Alternative Paths

Create a multiplexed graph.

##### Usage

`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

```
# NOT RUN {
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)
branch(pca = po_pca, nothing = po_nop,
.prefix_branchops = "br_", .prefix_paths = "xy_")
# 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")
# }
```

*Documentation reproduced from package mlr3pipelines, version 0.1.3, License: LGPL-3*