【问题标题】:writing edgelist from igraph to file in R; how to write vertex names not vertex ids将边缘列表从 igraph 写入 R 中的文件;如何写顶点名称而不是顶点ID
【发布时间】:2015-06-12 15:40:33
【问题描述】:

我使用 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。如果可以编写图就主图中分配的顶点名称而言,这将是最好的解决方案,但是任何解释为什么顶点编号不对齐或对齐它们的方法都会有所帮助。

【问题讨论】:

  • 您应该提供一个reproducible example,其中包含示例输入、您正在运行的代码以及该示例输入所需的输出。您不必分享您的实际数据,只需一小部分即可重现问题。

标签: r igraph


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 2017-09-29
    • 1970-01-01
    • 2011-03-19
    • 1970-01-01
    • 2021-12-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多