Fügen Sie mehr als eine Kante basierend auf Kantenattributen mit Hilfe von igrap hinzu

8

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:

%Vor%

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)

    
user2380782 30.09.2016, 21:45
quelle

2 Antworten

4

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 )

%Vor%

Oder fügen Sie die zusätzlichen Kanten auf einmal hinzu

%Vor%     
user20650 04.10.2016, 21:45
quelle
2

Ich denke, das bringt dich mit ein bisschen Schmelz und Casting dazu, was du willst:

%Vor%     
Chris 03.10.2016 23:27
quelle

Tags und Links