Ich würde gerne wissen, ob es möglich ist, mit igraph
Kanten zu einem Graphen hinzuzufügen, abhängig von den Werten der verschiedenen Kantenattribute.
Ich habe einen data.frame, der dput
ist der folgende:
Ich möchte dem Graphen neue Kanten hinzufügen ( g <- graph.data.frame(df, directed=FALSE
), wenn der Wert der Kantenattribute von 0 verschieden ist, zB für die Kante CFTR--CYP7A1
, möchte ich ein Paar Extrakanten hinzufügen ( eine für die text
und eine weitere für die mining
Attribute), ich bin nicht interessiert an score
(es ist das Gewicht meiner Grafik)
Hier sind ein paar Wege.
Zunächst scheint es einfacher, die ursprünglichen Daten neu anzuordnen. Setzen Sie die Daten in ein langes Format und weisen Sie die Farben anhand der Spaltennamen zu.
%Vor% Wenn Sie das ursprüngliche Diagramm verwenden und dann jeweils farbige Ränder hinzufügen möchten
Attribut größer als Null, können Sie die Attribute durchlaufen
( edge_attr
), und fügen Sie Kanten hinzu ( add_edges
), wenn die Bedingung erfüllt ist.
Wir können die zusätzlichen Kanten einzeln hinzufügen (gezeigt für das Attribut text
)
Oder fügen Sie die zusätzlichen Kanten auf einmal hinzu
%Vor%