我想找到图形中所有具有多个元素的连接的组件。

使用clusters将成员资格分配给不同的群集,使用cliques不会提供连接的组件。

这是来自

multiple intersection of lists in R

我的主要目标是找到所有具有相同元素的列表组。

提前致谢!

最佳答案

您可以使用components中的结果根据组件大小对节点进行子集化。

library(igraph)

# example graph
set.seed(1)
g <- erdos.renyi.game(20, 1/20)
V(g)$name <- letters[1:20]
par(mar=rep(0,4))
plot(g)




# get components
cl <- components(g)
cl
# $membership
# [1]  1  2  3  4  5  4  5  5  6  7  8  9 10  3  5 11  5  3 12  5
#
# $csize
# [1] 1 1 3 2 6 1 1 1 1 1 1 1
#
# $no
# [1] 12


# loop through to extract common vertices
lapply(seq_along(cl$csize)[cl$csize > 1], function(x)
                                         V(g)$name[cl$membership %in% x])
# [[1]]
# [1] "c" "n" "r"
#
# [[2]]
# [1] "d" "f"
#
# [[3]]
# [1] "e" "g" "h" "o" "q" "t"

关于r - 在R中使用igraph获取连接的组件,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30407769/

10-12 17:26