在R中导入igraph中的边列表

时间:2014-09-17 20:11:30

标签: r graph igraph edges

我正在尝试将边缘列表导入R中的igraph图形对象。以下是我试图这样做的方法:

graph <- read.graph(edgeListFile, directed=FALSE)

我在一百万次之前使用过这种方法,但它对这个特定的数据集不起作用:

294834289 476607837
560992068 2352984973
560992068 575083378
229711468 204058748
2432968663 2172432571
2473095109 2601551818    
...

R抛出这个错误:

Error in read.graph.edgelist(file, ...) : 
At structure_generators.c:84 : Invalid (negative) vertex id, Invalid vertex id

我在这个数据集与我之前使用的数据集之间看到的唯一区别是那些是从1开始的排序形式:

1 1
1 2
2 4
...

任何线索?

感谢高级

1 个答案:

答案 0 :(得分:5)

似乎它试图将值解释为索引而不是节点名称,并且它可能将它们存储在一个有限的有符号整数字段中,该字段可能会溢出为负数。一个潜在的解决方法是

library("igraph")

dd <- read.table("test.txt")
gg <- graph.data.frame(dd, directed=FALSE)
plot(gg)

enter image description here

似乎这种方法没有溢出问题(假设它就是这样)。