【发布时间】:2017-01-05 13:01:00
【问题描述】:
The output 我在读取 R 中的无向图时遇到问题,我尝试将其从包含大量边(约 1000 条)的文本文件“graph.txt”导入到 R,但问题是:
R 没有从文本文件中读取整个图形,它忽略了大量边 我按照我在 R 教程中找到的步骤以及本网站上的相关先前问题进行了操作,但我无法修改它。
graph.txt 看起来像:
383 886
777 915
793 335
386 492
649 421
362 27
690 59
763 926
540 426
172 736
211 368
567 429
782 530
以及我使用的函数:
library("igraph")
dd<-scan("graph.txt")
gg<-read_graph("graph.txt",directed=FALSE)
gg
结果如下:
... 763-- 785 326-- 984 946-- 946 326--1103 326-- 592 698--1636 326--1807
+ ... omitted several edges
请帮助 R 从 txt 文件中导入全部边数
提前致谢
P.S:我正在尝试仅将数据作为图形导入(不是表格或矩阵),以使用以下函数计算图形的直径:
diameter(graph, directed = FALSE, weights = NULL)
【问题讨论】:
-
你能举一个你输入的txt文件的例子吗?
-
实际上你确定它没有被正确读取,而不仅仅是它在屏幕上的显示方式?看看这个例子:
g = igraph::erdos.renyi.game(100, 0.5) ; g。如果你做E(g)(或length(E(g)))你会看到有多少边。 -
还要仔细检查它不是打印方法,您可以在运行以下命令后尝试查看边缘:
options(max.print = length(E(g))) ; print(E(g), TRUE) -
我认为上面 user20650 的猜测是正确的,因为该图实际上加载得很好,但是当您将
g打印到屏幕上时,您只会看到所有边缘的截断列表。检查length(E(g))和(在unix 命令行上)wc -l graph.txt是否相同;如果是这样,那么一切都加载正常。 -
@user20650 是的,它有效,长度为 1000...非常感谢帮助
标签: python r graph network-programming igraph