I try to rearrange a data.frame for my shiny app, but I cannot find out how to write abstract enough code to be effective in any case.
My current data.frame looks like:
Row Names | Col1 | Col2 | Col3
----------------- | ------ | ------ | ------
Company A: lvl:1 | number | number | number
Company B: lvl:1 | number | number | number
Company C: lvl:1 | number | number | number
Company A: lvl:2 | number | number | number
Company B: lvl:2 | number | number | number
Company C: lvl:2 | number | number | number
Company A: lvl:3 | number | number | number
Company B: lvl:3 | number | number | number
Company C: lvl:3 | number | number | number
The column number is prefixed but the levels are determined by input$levels
.
I try to change the data.frame format to:
Row Names | Col1 | Col2.1 | Col2.2 | Col2.3 | Col3.1 | Col3.2 | Col3.3
---------- | ------ | ------ | ------ | ------ | ------ | ------ | ------
Company A | number | number | number | number | number | number | number
Company B | number | number | number | number | number | number | number
Company C | number | number | number | number | number | number | number
.1 , .2 , .3
correspond to lvl:1 , lvl:2 , lvl:3
. I thought about split()
, but I cannot figure out how to generalize it enough to be applicable for any input$levels
.