如何计算顶点链接到特定属性上具有不同值的顶点的次数

时间:2014-04-07 13:19:53

标签: r igraph

我的图表如下:

library(igraph)
g <- erdos.renyi.game(10, 0.5)
V(g)$rel <- rbinom(10,1,0.5)

我想计算,对于具有$ rel == 0的顶点,使用$ rel == 1连接顶点的次数,以及使用$ rel == 1连接顶点的次数,使用$连接顶点的次数rel == 0。

这就像是一个特定属性的兼容性,但是我希望将这两个组中的每个组的结果分开,而不是整个网络的整体值。

1 个答案:

答案 0 :(得分:0)

删除连接rel==0rel==1顶点的边,然后计算顶点的度数。

el <- get.edgelist(g)
el[]  <- V(g)$rel[el]
g2 <- delete.edges(g, which(el[,1] == el[,2]))
degree(g2)
# [1] 3 2 4 1 3 2 2 4 4 3

如果属性不是数字(编辑)

el <- get.edgelist(g)
mode(el) <- "character"
el[]  <- V(g)$rel[el]
g2 <- delete.edges(g, which(el[,1] == el[,2]))
degree(g2)
# [1] 3 2 4 1 3 2 2 4 4 3