使用 igraph r 测量顶点的分类性

Measure assortativity of vertices using igraph r

我需要测量顶点的分类性,而不是整个图的分类性。我该怎么做?

取下图:

g <- sample_gnm(n=20,m=20)
plot(g)
V(g)$gender <- c("male","female")
V(g)$gender[1:10] <- "male"
V(g)$gender[11:20] <- "female"
assortativity.nominal(g,types=V(g)$gender)

现在我们有了图g的分类性。如何测量g的顶点的分类性,或者顶点级别的类似度量?

我没有参考资料或名称,但以下措施呢?

A <- as.matrix(get.adjacency(g))
(assort <- rowSums(outer(V(g)$gender, V(g)$gender, `==`) * A) / rowSums(A))

#  [1] 0.6000000 0.0000000 0.5000000 0.5000000 0.0000000 0.5000000       NaN 1.0000000
#  [9] 0.2500000 0.0000000 0.0000000 0.6666667       NaN       NaN       NaN 0.4000000
# [17] 0.0000000 0.0000000 1.0000000 0.3333333

对于每个顶点,它提供了与给定顶点类型相同的邻居的比例。然后系数总是落在 0 和 1 之间并且有一个很好的解释。

如果一个顶点没有任何邻居,我们有 NaN;如果您希望它为零,则添加

assort[is.nan(assort)] <- 0