首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >图像中的平均距离与距离均值

图像中的平均距离与距离均值
EN

Stack Overflow用户
提问于 2017-02-20 19:15:01
回答 1查看 2.2K关注 0票数 1

我试图计算我的网络的平均路径长度,我面临以下问题。我过去使用过来自average.path.length包的igraph。这一次,我决定选择另一条路线:我想使用distances函数(也来自包igraph),然后找到所有距离的平均值。我的理解是,distances函数只是计算图的顶点之间成对的最短路径,因此mean(distances(graph))应该返回平均路径长度。然而,当我尝试使用这种方法时,我注意到我得到了average.path.lengthmean_distance的指导应用程序所提供的不同值。最初,我认为这个问题是由一些孤立的节点引起的,但是当我在一个完全连接的玩具图上检查它时,我也遇到了同样的问题。

下面是一个可重复的例子:

代码语言:javascript
运行
复制
  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_distancedistances使用了不同的算法,但是在这样一个小而简单的模型上,这种差异应该如此大吗?我遗漏了什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-02-20 19:30:11

我认为你得到了一个不同的答案,因为你用的是整个距离矩阵的平均值,而不是distance(toy.graph)的下半个上三角,它包括对角线上的0,它降低了距离。

代码语言:javascript
运行
复制
library(igraph)
toy.graph <- graph.formula(1-2,1-3,1-5,2-5,3-5,3-6,4-6)
plot(toy.graph)
mean_distance(toy.graph)
#[1] 1.866667

average.path.length(toy.graph)
#[1] 1.866667

mean(distances(toy.graph))
#[1] 1.555556

mean(distances(toy.graph)[lower.tri(distances(toy.graph))])
#[1] 1.866667
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42352578

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档