首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用clique消除团簇

用clique消除团簇
EN

Stack Overflow用户
提问于 2018-12-05 18:18:32
回答 1查看 66关注 0票数 1

我有一个有几个组件的网络,我想:

  1. 若要删除已完全连接的任何群集,请执行以下操作

玩具例子:

代码语言:javascript
复制
g <- graph(c("a","b","b","c","c","a","f","g","h","g"))
result_g <- graph(c("f", "g","h","g"))
  1. 只有在(和其他条件)不属于完全连接的组件时,才能标记组件的顶点。
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-12-05 18:59:29

为此,您可以首先使用components函数将图拆分为连接的组件。然后,您可以测试每个组件,看看它是否是一个完整的子图。图是满的当且仅当边数等于n(n-1)/2,其中n是节点数。所以,用你的例子:

代码语言:javascript
复制
CompList = components(g)
NotFull = c()
for(i in 1:CompList$no) {
    COMP = induced_subgraph(g, which(CompList$membership==i))
    VC = vcount(COMP)
    if(ecount(COMP) != VC*(VC-1)/2) {
        NotFull = c(NotFull, which(CompList$membership==i)) }
}
result_g = induced_subgraph(g, NotFull)
result_g
IGRAPH 5d61ea5 DN-- 3 2 -- 
+ attr: name (v/c)
+ edges from 5d61ea5 (vertex names):
[1] f->g h->g
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53638449

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档