【问题标题】:Average clustering coefficient of a network (igraph)网络的平均聚类系数(igraph)
【发布时间】:2018-07-28 22:43:39
【问题描述】:

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

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)

我将不胜感激。

【问题讨论】:

    标签: r igraph social-networking


    【解决方案1】:

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

    这只是三角形和连接三元组的比率 图表。对于有向图,边缘的方向被忽略。

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

    无向图的局部传递性,计算如下 vids 参数中给出的每个顶点。的局部传递性 顶点是连接到顶点的三角形与 三元组以顶点为中心。对于有向图的方向 边缘被忽略。

    参见,例如,?transitivityClustering coefficient

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

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

    其中 k_i 是顶点 i 邻居的数量。因此,也许同时使用它们也很公平。

    【讨论】:

      【解决方案2】:

      @Julius Vainora 回答了这个问题。对于那些试图寻找 type = "average" 做什么的答案的人的附加说明,因为 igraph 文档没有说明它:

      transitivity(graph, type = "average")
      

      相同
      transitivity(graph, type = "localaverage")
      

      相同
      transitivity(graph, type = "localaverageundirected")
      

      相同
      mean(transitivity(graph, type = "local"), na.rm = TRUE)
      

      【讨论】:

        【解决方案3】:
        transitivity(g, type="local") 
        

        输出向量的顺序如何? 是不是和下面的顺序一样:

        degree(g, mode="all")
        

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

        【讨论】:

          猜你喜欢
          • 2015-02-20
          • 2021-08-30
          • 1970-01-01
          • 2014-02-11
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2014-09-11
          • 2012-12-04
          相关资源
          最近更新 更多