mlr3pipelines icon indicating copy to clipboard operation
mlr3pipelines copied to clipboard

pos in combination with as_graph leads to unexpected ids

Open sebffischer opened this issue 2 years ago • 1 comments

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

sebffischer avatar Apr 20 '23 06:04 sebffischer

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?

mb706 avatar May 22 '23 03:05 mb706