Ich möchte einen Teilgraphen eines Graphen eines gerichteten Netzwerks konstruieren, in dem alle Ecken ein bestimmtes Vertex-Attribut haben (zB V (Grph) $ year == "1952") und ihre erste Ordnung (unmittelbar) Nachbarn, nur basierend auf dem Out-Grad.
Ich habe ego()
, make_ego_graph()
, neighbors()
und adjacent_vertices()
versucht.
Zum Beispiel %Code% ergibt eine Liste von Graphen (und nicht eine einzige umfassende) und dauert überraschenderweise zwei Stunden für 50k Knoten in diesem Jahr und 150.000 Nachbarn werden darauf hingewiesen.
Ein Ansatz, den ich mir vorstellen könnte, wäre, alle diese Graphen in der Liste zusammenzufassen, aber ich weiß nicht wie. Außerdem möchte ich die Vertex-Attribute beibehalten, da mein ultimatives Ziel ist, CitGraph <- make_ego_graph(Grph, 1, nodes = which(V(Grph)$year=="1952"), mode = "out")
zu berechnen, basierend auf einem anderen Vertex-Attribut (geographischer Ort in diesem Fall).
Vielen Dank im Voraus für Ihre Vorschläge!
Tatsächlich gibt make_ego_graph
ein Diagramm für die Umgebung für jeden der Vertices in der Liste nodes
zurück.
Ich schlage vor, dass Sie es lösen, indem Sie die Liste der Kanten verwenden, die Sie in Ihren Untergraphen anstelle der Liste der Scheitelpunkte aufnehmen müssen. Angenommen, Ihre Scheitelpunktliste wird aufgelöst wie list_of_vertices <- V(Grph)$year == "1952"
oder was auch immer Ihre Bedingung ist, würden Sie etwas wie
(Ich verwende einen gerichteten Graphen.)
Ich hoffe, es hilft.
Tags und Links r igraph network-analysis