0

Hi I have a df like this:

ValueA ValueB ID
0.10   1.00   1
0.15   2.00   2 
0.25   4.00   3

and so on. I need to transform this df into an output like this:

ID Value X 
1  ValueA 0.10
1  ValueB 1.00    
2  ValueA 0.15
2  ValueB 2.00
3  ValueA 0.25
3  ValueB 4.00

How can I do this with R? Thanks for your help.

Timothy_Goodman
  • 383
  • 3
  • 17

1 Answers1

1

With the reshape2 package, you can do:

> reshape2::melt(mydata, id = "ID", variable = "Value", value.name = "X")
  ID  Value    X
1  1 ValueA 0.10
2  2 ValueA 0.15
3  3 ValueA 0.25
4  1 ValueB 1.00
5  2 ValueB 2.00
6  3 ValueB 4.00
Stéphane Laurent
  • 59,551
  • 14
  • 99
  • 196