我正在尝试将边缘列表导入 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
...
有什么线索吗?
最佳答案
似乎它试图将值解释为索引而不是节点名称,并且它可能将它们存储在一个太小并且可能溢出为负数的有符号整数字段中。一种潜在的解决方法是
library("igraph")
dd <- read.table("test.txt")
gg <- graph.data.frame(dd, directed=FALSE)
plot(gg)
似乎这种方法没有溢出问题(假设它就是这样)。
关于r - 在 R 中的 igraph 中导入边列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25899516/