【问题标题】:Eliminate clique clusters with igraph使用 igraph 消除 clique 集群
【发布时间】:2018-12-06 02:59:29
【问题描述】:

我有一个包含多个组件的网络,我想要:

  1. 删除任何完全连接的集群

玩具示例:

g <- graph(c("a","b","b","c","c","a","f","g","h","g"))
result_g <- graph(c("f", "g","h","g"))
  1. 仅当(除其他条件外)不属于全连接组件时,才能仅标记组件的顶点。

【问题讨论】:

  • 当你说全集群 - 你是指全连接组件吗?
  • 正是如此,我会更新问题。

标签: r cluster-analysis igraph


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 2018-06-02
    • 2016-05-02
    • 2016-11-04
    • 1970-01-01
    • 2019-10-13
    • 1970-01-01
    • 1970-01-01
    • 2011-05-08
    • 1970-01-01
    相关资源
    最近更新 更多