[英]igraph's Shortest Path find wrong on R
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)
當我繪制圖形時,一切都正確。 但是,當我試圖找到最短的路徑時,它並不總是給我正確的路徑。 輸出為= 6 3 1 4.應該為6 5 2 4.如您所見,6和3之間沒有邊。我該如何克服這個問題。
問題在於您的圖形具有頂點名稱,這些名稱與您擁有的ID不同。 刪除name
頂點屬性,一切都會正常。 的確, graph.data.frame()
對此可能更聰明。
您也可以嘗試以正確的順序添加頂點ID:
g <- graph.data.frame(g, directed=FALSE,
vertices=data.frame(name=as.character(seq_len(max(g))))
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.