Vorrei costruire un sottografo di un grafico di una rete diretta con tutti i vertici che condividono un determinato attributo di vertice (ad esempio, V (Grph) $ anno == "1952") e i loro vicini (immediati) di primo ordine, basati solo sul fuori-grado.igraph - Neighbors as subgraph - make_ego_graph() come grafico singolo
Ho provato ego()
, make_ego_graph()
, neighbors()
e adjacent_vertices()
.
Per esempio, CitGraph <- make_ego_graph(Grph, 1, nodes = which(V(Grph)$year=="1952"), mode = "out")
produce un elenco di grafici (e non una sola complessivo) e sorprendentemente ci vogliono due ore per 50k vertici in questo anno e 150k vicini di casa di essere puntato.
Un approccio che potrei pensare sarebbe quello di aggregare tutti questi grafici nell'elenco ma non so come. Inoltre, mi piacerebbe conservare gli attributi dei vertici in quanto il mio obiettivo finale è calcolare assortativity_nominal()
, in base a un altro attributo vertice (posizione geografica in questo caso).
Grazie in anticipo per qualsiasi suggerimento si può avere!
Ottimo, funziona perfettamente, grazie! Per il mio esempio, ho dovuto adattare la prima riga del tuo codice a 'list_of_edges <- E (your_graph) [from (list_of_vertices)]' dato che non sono interessato solo ai bordi tra i 1952-vertici ma, più in generale, tutti provenienti da loro. – user5835099
Sei più che benvenuto. Saluti. – lrnzcig