Gibt es eine einfache Möglichkeit zum Auswählen / Löschen von Kanten basierend auf ihrer Quelle und Ziel in igigraph?
Was ich benutze ist im Wesentlichen
%Vor%Aber ich habe das Gefühl, dass es eine Möglichkeit geben sollte, dies zu tun, ohne die Quell- / Zielinformationen zweimal zu speichern.
Verwenden Sie einfach _source=whatever
und _target=whatever
als Schlüsselwortargumente für select
, z. B.:
Alternativ können Sie auch die incident
-Methode des Graphen verwenden, die Ihnen eine Liste von Edge-IDs anstelle eines gefilterten EdgeSeq
bietet, falls dies für Ihre Zwecke besser ist:
BTW, für 'tuple' möchten Sie _between
:
Es sieht seltsam aus - wenn Sie select
anstelle von find
verwenden und Tupel mit mehreren Indizes übergeben, erhalten Sie tatsächlich eine Liste von Kanten statt einer einzigen. Aber für eine einzelne Kante muss noch ein Tupel für Anfang und Ende übergeben werden.
Dies ist aus irgendeinem Grund viel schneller (etwa drei Größenordnungen schneller!) als die Verwendung einer Kombination aus _source
und _target
, gibt aber exakt die gleiche Information.