r - 在 R 中的 igraph 中导入边列表

标签 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
...
有什么线索吗?

最佳答案

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

library("igraph")

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

enter image description here

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

关于r - 在 R 中的 igraph 中导入边列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25899516/

相关文章:

python - 在 Windows 7 上安装 rpy2

algorithm - 构造任何具有度约束的二分图

带有visEdges的R visNetwork + igraph加权网络可视化

r - 使用 dplyr 有条件地将行插入数据帧

r - 如何在R中找到不同大小的列之间的共同元素?

algorithm - 在neo4j中指定图形遍历算法的起点

algorithm - 求解多源多目的 map 博弈

r - igraph:在布局算法中指定权重

r - 如何使用igraph或tnet在R中创建双向网络

r - 运行R时,如何优雅地退出Emacs-ESS?