0
我正在嘗試計算我的網絡的平均路徑長度,並且遇到以下問題。我過去使用igraph
包中的average.path.length
。這一次,我決定採取不同的路線:我想使用distances
功能(也從包igraph
),然後找到所有距離的平均值。我的理解是distances
函數只是計算圖形頂點之間的成對最短路徑,因此應該返回平均路徑長度。但是,當我嘗試使用這種方法時,我注意到我得到了average.path.length
和mean_distance
的直接應用程序給出的不同值。起初,我認爲問題是由一些孤立節點引起的,但是當我在完全連接的玩具圖上檢查它時,我遇到了同樣的問題。平均距離與igraph中的平均距離
這裏是一個重複的例子:
toy.graph <- graph.formula(1-2,1-3,1-5,2-5,3-5,3-6,4-6)
mean_distance(toy.graph)
[1] 1.866667
average.path.length(toy.graph)
[1] 1.866667
mean(distances(toy.graph))
[1] 1.555556
我明白,不同的算法用於mean_distance
和distances
而應該區別是在這樣一個小而簡單的模型如此之大?我錯過了什麼?
謝謝您對角。這就說得通了。我可以看到對角線會降低平均值。我的網絡定向時,是否應該同時使用較低和較高的三角形?在這種情況下,矩陣不會是對稱的(儘管它在對角線上仍然有0)。 – Justyna
如果你想使用這種方法來處理有向圖,那麼你需要計算圖的「in」和「out」距離,在平均之前刪除「Inf」和對角線。這對於一個簡單的有向圖很有用,但不確定這是多麼普遍 – emilliman5