如果您从 R 中使用 igraph,请使用此选项
transitivity {igraph} | R 文档 |
传递性衡量一个顶点的相邻顶点相互连接的概率。这有时也被称为聚类系数。
transitivity(
graph,
type = c("undirected", "global", "globalundirected", "localundirected", "local",
"average", "localaverage", "localaverageundirected", "barrat", "weighted"),
vids = NULL,
weights = NULL,
isolates = c("NaN", "zero")
)
图 |
要分析的图。 |
type |
要计算的传递性类型。 可能的值
|
vids |
将计算局部传递性的顶点 ID。 这将被全局传递性类型忽略。 默认值为 |
weights |
加权传递性的可选权重。 对于其他传递性度量,它将被忽略。 如果它是 |
isolates |
字符标量,定义如何处理度数为零和一的顶点。 如果它是 ' |
请注意,传递性度量基本上有两类,一类是顶点级别的,另一类是图级别的属性。
传递性有几种推广到加权图的方法,这里我们使用 A. Barrat 的定义,这是一个局部顶点级别量,其公式为
C_i^w=\frac{1}{s_i(k_i-1)}\sum_{j,h}\frac{w_{ij}+w_{ih}}{2}a_{ij}a_{ih}a_{jh}
s_i
是顶点 i
的强度,参见 strength
,a_{ij}
是邻接矩阵的元素,k_i
是顶点度,w_{ij}
是权重。
如果所有边权重都相同,则此公式会返回正常的非加权局部传递性。
barrat
类型的传递性不适用于具有多重和/或循环边的图。 如果要为有向图计算它,请首先使用 collapse
模式调用 as.undirected
。
对于 'global
',如果图中没有连接的三元组,则为单个数字或 NaN
。
对于 'local
',一个传递性得分向量,每个 'vids
' 中的顶点一个。
Gabor Csardi csardi.gabor@gmail.com
Wasserman, S., and Faust, K. (1994). Social Network Analysis: Methods and Applications. Cambridge: Cambridge University Press.
Alain Barrat, Marc Barthelemy, Romualdo Pastor-Satorras, Alessandro Vespignani: The architecture of complex weighted networks, Proc. Natl. Acad. Sci. USA 101, 3747 (2004)
g <- make_ring(10)
transitivity(g)
g2 <- sample_gnp(1000, 10/1000)
transitivity(g2) # this is about 10/1000
# Weighted version, the figure from the Barrat paper
gw <- graph_from_literal(A-B:C:D:E, B-C:D, C-D)
E(gw)$weight <- 1
E(gw)[ V(gw)[name == "A"] %--% V(gw)[name == "E" ] ]$weight <- 5
transitivity(gw, vids="A", type="local")
transitivity(gw, vids="A", type="weighted")
# Weighted reduces to "local" if weights are the same
gw2 <- sample_gnp(1000, 10/1000)
E(gw2)$weight <- 1
t1 <- transitivity(gw2, type="local")
t2 <- transitivity(gw2, type="weighted")
all(is.na(t1) == is.na(t2))
all(na.omit(t1 == t2))