将边缘列表从igraph写入R中的文件;如何写顶点名而不是顶点id

时间:2015-06-12 15:40:33

标签: r igraph

我拍了一张图,然后使用FlashGraphs从中拉出了一个子图,它给了我一个顶点名称在整个顶点范围内展开的igraph。我尝试使用write.graph(sub.fg,"lc_edgelist.txt", "edgelist")编写边缘列表,但是当我这样做时,我得到一个看起来像这样的文件,

0 251
0 268
0 840
...

该文件应该看起来像

237 368616
237 374864
237 1197066
...

似乎这只是分配了顶点id而不是使用名称,所以为了检查,我从主图中导出了一个顶点列表,在那里我使用以下命令获取了具有该id的所有顶点。 lcc.v <- which(cc == lcc.id)我只是通过使用我也从主图中派生的顶点列表来转换这些顶点,但是从检查该引用开始,368616不是第251个顶点,它是697.如果可以写的话根据主图中指定的顶点名称的图形,这将是最好的解决方案,但任何解释为什么顶点数字不排列或排列它们的方式也会有所帮助。

1 个答案:

答案 0 :(得分:2)

使用write.graph(sub.fg, "lc_edgelist.txt", "ncol")。 NCOL格式使用$name顶点属性中的符号顶点名称而不是节点ID。在保存之前,您有责任确保名称的唯一性。