как отфильтровать небольшие подграфы в R - PullRequest
0 голосов
/ 20 ноября 2018

предположим, что у меня есть такая сеть с несколькими подграфами.

Как я могу сохранить только подграф с наибольшим количеством вершин при удалении остальных?В этом случае я хочу оставить подграф слева и убрать 3 вершины в правом нижнем углу.Спасибо!

enter image description here

1 Ответ

0 голосов
/ 20 ноября 2018

С учетом

set.seed(1)
g <- sample_gnp(20, 1 / 20)
plot(g)

enter image description here

мы хотим сохранить подграф с 6 вершинами. Использование

(clu <- components(g))
# $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
gMax <- induced_subgraph(g, V(g)[clu$membership == which.max(clu$csize)])

тогда мы получим

plot(gMax)

enter image description here

Предполагается, что существует один самый большой связанный подграф. В противном случае будет выбран «первый».

...