嗨,我有一个这样的df:
ValueA ValueB ID
0.10 1.00 1
0.15 2.00 2
0.25 4.00 3
,依此类推。我需要将此df转换成这样的输出:
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
如何用R做到这一点?感谢您的帮助。
答案 0 :(得分:1)
使用reshape2
包,您可以执行以下操作:
> 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