将矩阵转换为对列表

时间:2014-03-19 12:21:30

标签: r matrix adjacency-matrix

我有这个互信息矩阵:

 X1053_at   X117_at X121_at X1255_g_at  X1294_at    X1316_at    X1320_at
X1053_at    0   0.00040833  0.052000448 0.101470422 0.00040833  0.223143551
X117_at     0.00040833  0   0.00040833  0.174561677 0.174561677 0.034204976
X121_at     0.052000448 0.00040833  0   0.020410997 0.010309644 0.034204976
X1255_g_at  0.101470422 0.174561677 0.020410997 0   0.020410997 0.174561677
X1294_at    0.00040833  0.174561677 0.010309644 0.020410997 0   0.101470422
X1316_at    0.223143551 0.034204976 0.034204976 0.174561677 0.101470422 0
X1320_at    0.074226329 0.134540323 0.052000448 0.00368703  0.020410997 0.101470422

然后我想在R中制作一个基因列表选项卡,例如:

 
geneX    geneY  weight   
geneX    geneY  weight   
geneX    geneY  weight   
geneX    geneY  weight   
geneX    geneY  weight   
geneX    geneY  weight  

任何人都可以帮我这个吗? 实际上我想导出这个矩阵,然后通过cytoscape或gephi导入或... 感谢

1 个答案:

答案 0 :(得分:5)

以下黑客可能有所帮助:

x <- as.matrix(read.table(textConnection("X1053_at   X117_at X121_at X1255_g_at  X1294_at    X1316_at    X1320_at
X1053_at    0   0.00040833  0.052000448 0.101470422 0.00040833  0.223143551
X117_at     0.00040833  0   0.00040833  0.174561677 0.174561677 0.034204976
X121_at     0.052000448 0.00040833  0   0.020410997 0.010309644 0.034204976
X1255_g_at  0.101470422 0.174561677 0.020410997 0   0.020410997 0.174561677
X1294_at    0.00040833  0.174561677 0.010309644 0.020410997 0   0.101470422
X1316_at    0.223143551 0.034204976 0.034204976 0.174561677 0.101470422 0
X1320_at    0.074226329 0.134540323 0.052000448 0.00368703  0.020410997 0.101470422"), header=TRUE, row.names=1))

# not sure if this is correctly aligned as you have 7 column names for 6 columns

as.data.frame(as.table(x))

结果:

         Var1       Var2       Freq
1    X1053_at    X117_at 0.00000000
2     X117_at    X117_at 0.00040833
3     X121_at    X117_at 0.05200045
4  X1255_g_at    X117_at 0.10147042
5    X1294_at    X117_at 0.00040833