将矩阵转换为对列表

Sad*_*egh 1 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导入或者...谢谢

leb*_*nok 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))
Run Code Online (Sandbox Code Playgroud)

结果:

         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
Run Code Online (Sandbox Code Playgroud)