【发布时间】:2017-02-20 19:15:01
【问题描述】:
我正在尝试计算我的网络的平均路径长度,但遇到以下问题。我过去一直使用igraph 包中的average.path.length。这次我决定采取不同的路线:我想使用distances 函数(也来自包igraph)然后找到所有距离的平均值。据我了解,distances 函数只是计算图顶点之间的成对最短路径,因此采用mean(distances(graph)) 应该返回平均路径长度。但是,当我尝试使用这种方法时,我注意到我得到了 average.path.length 和 mean_distance 的直接应用所给出的不同值。最初我认为问题是由一些隔离节点引起的,但是当我在完全连接的玩具图上检查时,我遇到了同样的问题。
这是一个可重现的例子:
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 使用了不同的算法,但是在这么小而简单的模型上差异应该这么大吗?我错过了什么?
【问题讨论】: