4

当我运行这个简单的例子时,igraph 添加了一个顶点,我的顶点从 2 开始而不是 1

# very very simple graph (1-2-3)
edges <- rbind(c(1,2), c(2,3))

write.table(edges, file="edgetest.txt", sep=" ", quote=F, row.names=F, col.names = F)
g <- simplify(read.graph(file="edgetest.txt", format="edgelist", directed=F))
plot(g)

这是运行示例后的样子

在此处输入图像描述

有人知道为什么会这样吗?这可以吗还是我错过了什么

4

2 回答 2

4

read.edgelist()需要一个文本文件,其中顶点 id 从零开始。如果要将矩阵中的边列表写入文件,请减去 1:

write.table(edges-1, file="edgetest.txt", sep=" ", 
            quote=F, row.names=F, col.names = F)
于 2012-11-20T04:38:03.887 回答
1

我认为您通过写出文本并回读来引入一些错误。您可以这样做:

edges <- rbind(c(1,2), c(2,3))
g <- graph.edgelist(edges)
plot(g)
于 2012-11-19T22:13:49.993 回答