R - 图中的“max subgraphs”

时间:2017-09-05 08:14:19

标签: r igraph

我想确定给定图表中的最大子图

例如,对于这些图表: enter image description here

和这段代码:

    library("igraph")        
    from <- c(1,2,3,3,6,6,8,9)
    to <- c(2,3,4,5,7,8,6,10)
    edges = data.frame(from,to)
    g<- graph_from_data_frame(edges,directed=FALSE)
    plot(g)

    clc <- max_cliques(g, min=3)
    clc

min = 3的max cliques给了我空列表 ...

我想得到的结果(min = 3)是:

(1,2,3,4,5) (6,7,8)

1 个答案:

答案 0 :(得分:3)

我认为你所寻找的不是派系,而是连通的组件。

在你的图表中,派系(完整子图)的大小为2或更小,因此如果将最小大小设置为3,函数max_cliques将不会返回任何内容。 / p>

另一方面,您可以使用函数clusters查找图表中最大的连通组件。

cl <- clusters(g)
me <- which(cl$csize >= 3)
res <- split(names(cl$membership), cl$membership)[me]
res
$`1`
[1] "1" "2" "3" "4" "5"

$`2`
[1] "6" "8" "7"