11

我有以下 txt 文件,以 edgelist 格式表示网络。

前两列代表通常情况:哪个节点连接到其他哪些节点

第三列代表权重,代表每个节点联系对方的次数。

我已经搜索了igraph文档,但没有提到在导入 txt 等标准文件格式时如何包含权重参数。

该文件可以从这里访问,这是我一直在使用的代码:

read.graph("Irvine/OClinks_w.txt", format="edgelist")

此代码将第三列视为重量以外的其他内容。

有谁知道解决方案?

4

2 回答 2

13

以下是否会引起过多的烦恼?

g <- read.table("Irvine/OClinks_w.txt")
g <- graph.data.frame(g)

如果确实如此,则可以直接从文件中使用

g<-read.graph("Irvine/OClinks_w.txt",format="ncol")
E(g)$weight
于 2012-10-13T17:19:42.727 回答
3

如果您使用 Python 和 igraph,则以下代码行用于导入权重和顶点名称:

g1w=Graph.Read_Ncol("g1_ncol_format_weighted.txt",names=True)

注意:你必须告诉 igraph 读取 names 属性names=True,否则只会导入顶点编号。

其中 g1_ncol_format_weighted.txt 看起来像:

A B 2
B C 3

为确保导入正常工作,请使用以下行:

print(g1w.get_edgelist())
print(g1w.es["weight"])
print(g1w.vs["name"])
于 2013-07-16T22:26:29.103 回答