重塑R中的矩阵

时间:2014-09-11 12:02:55

标签: r reshape2

我正在努力寻找一种自动重构我的矩阵的方法。请参阅我的示例输出,了解我希望如何重新整形。

        Change    Position1   Position2    Position3     Position4
Gene1   2.3        1           1             1             0
Gene2   -1.3       0           1             1             1
Gene3   0.4        0           0             1             1

输出:

Position      1 or 0       Change

Position1     1            2.3
Position1     0           -1.3
Position1     0           0.4
Position2     1           2.3
Position2     1           -1.3
Position2     0           0.4
...

1 个答案:

答案 0 :(得分:1)

如果您读入数据

dd<-read.table(text="        Change    Position1   Position2    Position3     Position4
Gene1   2.3        1           1             1             0
Gene2   -1.3       0           1             1             1
Gene3   0.4        0           0             1             1", header=T)

你可以使用

library(reshape2)
melt(dd, id.vars="Change")

#    Change  variable value
# 1     2.3 Position1     1
# 2    -1.3 Position1     0
# 3     0.4 Position1     0
# 4     2.3 Position2     1
# 5    -1.3 Position2     1
# 6     0.4 Position2     0
# 7     2.3 Position3     1
# 8    -1.3 Position3     1
# 9     0.4 Position3     1
# 10    2.3 Position4     0
# 11   -1.3 Position4     1
# 12    0.4 Position4     1