簡體   English   中英

igraph的最短路徑在R上發現錯誤

[英]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)

http://imgur.com/vLSTkcK

當我繪制圖形時,一切都正確。 但是,當我試圖找到最短的路徑時,它並不總是給我正確的路徑。 輸出為= 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM