mlr3pipelines
mlr3pipelines copied to clipboard
pos in combination with as_graph leads to unexpected ids
library(mlr3pipelines)
as_graph(pos(c("pca", "ica")))
#> Graph with 2 PipeOps:
#> ID State sccssors prdcssors
#> pca.pca <<UNTRAINED>>
#> ica.ica <<UNTRAINED>>
Created on 2023-04-20 with reprex v2.0.2
I think as_graph does the sensible thing here: if a named list is given, it uses the names as prefix. This makes it possible to do things like
as_graph(list(a = po("nop"), b = po("nop")))
#> Graph with 2 PipeOps:
#> ID State sccssors prdcssors
#> a.nop <<UNTRAINED>>
#> b.nop <<UNTRAINED>>
without ID collisions.
We could argue that pos() should not use the IDs as names for the generated list. Why are we doing that again?