R的最短路径在R上发现错误

时间:2013-12-01 19:57:06

标签: r igraph

1 2
1 3
1 4
1 5
2 3
2 4
2 5
5 6

这是我的图表信息文本文件。

library("igraph")
g<-read.table("/home/emir/RRR/graph.txt",)
g<- graph.data.frame(g,directed=0)
get.shortest.paths(g, 6,4,  weights = NULL ,output=c("vpath", "epath", "both"))
plot(g)

http://imgur.com/vLSTkcK

当我绘制图表时,一切正确。但是当我试图找到最短的路径时,它并不总是给我正确的道路。输出= 6 3 1 4.应该是6 5 2 4.正如您所看到的,在6和3之间没有边缘。我如何克服这个问题。

1 个答案:

答案 0 :(得分:0)

问题是您的图表有顶点名称,这些名称与您拥有的ID不同。删除name顶点属性,一切都应该没问题。 graph.data.frame()确实可以更加明智......

您还可以尝试按正确的顺序添加顶点ID:

g <- graph.data.frame(g, directed=FALSE,
     vertices=data.frame(name=as.character(seq_len(max(g))))