2016-04-14 3 views
1

Я хотел бы найти и построить подмножество всех вершин, связанных с вершиной # 18 в сети «g», включая не только соседние узлы (соседи), но также и те, которые имеют любой возможный путь к ней.Как построить подмножество всех вершин графа, связанных с одной вершиной с использованием igraph в R?

g <- (make_full_graph(10) + make_full_graph(10)) 
plot(g) #plots 2 separate networks: 

2 separate networks

После нахождения всех вершин, которые имеют путь к вершине # 18, в результате суб-график должен выглядеть следующим образом:

enter image description here

Любые идеи? Благодаря!

ответ

0

Не оставить этот вопрос без ответа ...

Вы хотите подграф, состоящий из подключенного компонента, содержащего узел 18. Единственное, что немного сложнее в том, что induced_subgraph перенумеровывает узлы, так что если вы хотите сохраните исходную нумерацию, вам нужно явно установить метки на подграф.

## Your sample graph 
g <- (make_full_graph(10) + make_full_graph(10)) 
plot(g) 

## Get Connected component for node 18 
Comp = components(g) 
Comp18 = which(Comp$membership == Comp$membership[18]) 

## Extract subgraph and name nodes based on old numbering 
g2 = induced_subgraph(g, Comp18) 
g2 = set_vertex_attr(g2, "label", value = Comp18) 
plot(g2) 

Subgraph