使用 melt 在 R 中重塑数据
Reshaping data in R using melt
我已经尝试应用人们建议的方法来重塑数据,但不知何故我无法按照我想要的方式重塑我的数据。如果有人能提供帮助,我将不胜感激:
My data looks like this:
AB LP PD1 PD2 PY1 PY2 PY3 PY4 PY5 t
1 -50.000 -50.000 -50.000 -50.000 -50.000 -50.000 -50.000 -50.000 -50.000 1
2 -50.153 -53.316 -50.416 -50.416 -53.455 -53.467 -53.700 -53.403 -53.218 2
3 -50.288 -54.399 -50.726 -50.726 -53.603 -53.644 -54.457 -53.664 -53.776 3
4 -50.410 -53.630 -50.956 -50.956 -52.385 -52.649 -53.642 -52.575 -52.740 4
5 -50.519 -53.075 -51.127 -51.127 -52.072 -52.174 -53.132 -51.715 -52.563 5
6 -50.617 -52.616 -51.255 -51.255 -52.023 -51.947 -52.602 -51.857 -52.643 6
>
我想改变它,以便我可以用 ggplot 绘制它,它需要这样:
AB -50.000 1
AB -50.153 2
AB -50.288 3
etc,其中第三列是原始数据的最后一列,即时间(第 t 列)
如果我使用 v=melt(values)
我得到这个:
variable value
1 AB -50.000
2 AB -50.153
3 AB -50.288
4 AB -50.410
5 AB -50.519
6 AB -50.617
差不多了,只是现在时间栏(t)加在了底部。我如何获得时间成为第三列?
我相信这是我需要数据的格式,以便使用 ggplot2 绘制多条线。
感谢您的帮助
JSS
使用reshape2
,您需要做:
v <- melt(values, id.vars = "t")
我已经尝试应用人们建议的方法来重塑数据,但不知何故我无法按照我想要的方式重塑我的数据。如果有人能提供帮助,我将不胜感激:
My data looks like this:
AB LP PD1 PD2 PY1 PY2 PY3 PY4 PY5 t
1 -50.000 -50.000 -50.000 -50.000 -50.000 -50.000 -50.000 -50.000 -50.000 1
2 -50.153 -53.316 -50.416 -50.416 -53.455 -53.467 -53.700 -53.403 -53.218 2
3 -50.288 -54.399 -50.726 -50.726 -53.603 -53.644 -54.457 -53.664 -53.776 3
4 -50.410 -53.630 -50.956 -50.956 -52.385 -52.649 -53.642 -52.575 -52.740 4
5 -50.519 -53.075 -51.127 -51.127 -52.072 -52.174 -53.132 -51.715 -52.563 5
6 -50.617 -52.616 -51.255 -51.255 -52.023 -51.947 -52.602 -51.857 -52.643 6
>
我想改变它,以便我可以用 ggplot 绘制它,它需要这样:
AB -50.000 1
AB -50.153 2
AB -50.288 3
etc,其中第三列是原始数据的最后一列,即时间(第 t 列)
如果我使用 v=melt(values)
我得到这个:
variable value
1 AB -50.000
2 AB -50.153
3 AB -50.288
4 AB -50.410
5 AB -50.519
6 AB -50.617
差不多了,只是现在时间栏(t)加在了底部。我如何获得时间成为第三列?
我相信这是我需要数据的格式,以便使用 ggplot2 绘制多条线。
感谢您的帮助
JSS
使用reshape2
,您需要做:
v <- melt(values, id.vars = "t")