首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >网络的平均聚类系数(图)

网络的平均聚类系数(图)
EN

Stack Overflow用户
提问于 2018-02-18 23:57:42
回答 3查看 9.7K关注 0票数 7

我想计算一个图的平均聚类系数(来自igraph软件包)。然而,我不确定我应该遵循哪种方法。

代码语言:javascript
运行
复制
library(igraph)
graph <- erdos.renyi.game(10000, 10000, type = "gnm")

# Global clustering coefficient
transitivity(graph)
# Average clustering coefficient
transitivity(graph, type = "average")
# The same as above
mean(transitivity(graph, type = "local"), na.rm = TRUE)

如果您能给我一些指导,我将不胜感激。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2018-02-19 01:15:06

使用transitivity(graph)计算全局聚类系数(传递性):

这只是图中三角形和连通三角形的比率。对于有向图,忽略边的方向。

同时,作为transitivity(graph, type = "local")的平均值的transitivity(graph, type = "average")首先计算局部聚类系数,然后对它们进行平均:

无向图的局部传递性,这是为vids参数中给定的每个顶点计算的。顶点的局部传递性是连接到顶点的三角形与以顶点为中心的三角形的比率。对于有向图,忽略边的方向。

例如,参见?transitivityClustering coefficient

因此,首先,它们都是有效的措施,选择应该取决于您的目的。它们之间的区别非常明显(参见维基百科页面):

值得注意的是,该指标将更多的权重放在低度节点上,而传递性比率则将更多的权重放在高度节点上。实际上,每个局部聚类得分由k_i(K_i 1)加权的加权平均值与全局聚类系数相同

其中k_i是我相邻的顶点的数量。因此,也许同时使用这两种方法也是相当公平的。

票数 10
EN

Stack Overflow用户

发布于 2020-08-28 19:17:50

代码语言:javascript
运行
复制
transitivity(g, type="local") 

输出向量的顺序如何?是否与以下顺序相同:

代码语言:javascript
运行
复制
degree(g, mode="all")

度向量有索引,但聚类系数没有

票数 1
EN

Stack Overflow用户

发布于 2021-07-02 00:33:26

@Julius Vainora回答了这个问题。对于那些试图寻找type = "average“做什么的答案的人,额外的注意事项,因为igraph文档没有提到任何关于它的内容:

代码语言:javascript
运行
复制
transitivity(graph, type = "average")

等同于

代码语言:javascript
运行
复制
transitivity(graph, type = "localaverage")

等同于

代码语言:javascript
运行
复制
transitivity(graph, type = "localaverageundirected")

等同于

代码语言:javascript
运行
复制
mean(transitivity(graph, type = "local"), na.rm = TRUE)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48853610

复制
相关文章

相似问题

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