R Snippet Node deltes "Row" Prefix from RowId

The R Snippet Node deltes the prefix "Row" from the RowId column leading to different row Ids.

In my opinion this is a bug. Consider the following workflow (which I unfortunately have):

The data is split into two parts one part is processed by a simple R Snippet, the other by someting else not involving an R snippet. Afterwards the data is concatenated and you want to join the data with other data based on RowID. This won't work as the rowIds are now sometimes prefixed with "Row" and sometimes not.

not only that it also renumbers the rows

I am aware of this behaviour.

Until the latest release row ids were not transfered to R at all and of course not transfered back too.

The latest release transfers row ids to R (but this has some issues) but not back to KNIME. So, I do not recommend to use this release. I am currently working on a full support of row ids. The next release should be able to transfer row ids.

RowIDs, say row names, within R are sort of complicated anyways. Most often they are only useful for graphing and analysis but not for data manipulation or modelling. Some packages tend not to care too much about what happens with row names (e.g. plyr, dplyr).

I guess the safest way of preserving the RowIDs is to materialise them into a column before sending the data to R and to convert them back after the R node. Within R, Hadley Wickham has provided the functions dplyr::add_rownames() as well plyr::name_rows(), which achieve the same effect than the RowID node (just in case you need row names within R after prior RowID materialisation).

 

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.