I mit einem Diagramm arbeiten, die 121 Vertices und 209 Kanten aufweist und ich versuche aus dieser graphischen Darstellung Vertices zu entfernen, die zwei Bedingungen erfüllen:Conditional von Vertices Entfernen von Attributen in r basierend
degree(my.graph)==0
- Der Name des Eckpunkts beginnt mit einem angegebenen Zeichen.
Hier ist ein Beispiel, was ich sehen möchte. Aus der folgenden Grafik:
toy.graph <- graph.formula(121-221,121-345,121-587,345-587,221-587, 490, 588)
I Ecken mit Grad zu entfernende 0, die mit 5. In diesem Fall beginne ich nur Vertex 588 entfernen wollen (aber nicht 490 und 587). Ich weiß, wie Ecken mit 5 beginnen zu entfernen:
delete.vertices(toy.graph,V(toy.graph)$name
%in% grep("^5",V(toy.graph)$name,value=T))
und wie Ecken mit Grad entfernen 0:
delete.vertices(toy.graph, V(toy.graph)[degree(toy.graph)==0])
aber wenn ich versuche, zusammen diese beiden Bedingungen zu setzen, das heißt
delete.vertices(toy.graph, V(toy.graph)$name %in%
grep("^5",V(toy.graph)$name,value=T)
&& V(toy.graph)[degree(toy.graph)==0])
es funktioniert nicht und ich bekomme die volle Grafik zurück. Gibt es eine spezielle Möglichkeit, mehrere Bedingungen zum Entfernen von Vertices zu kombinieren?
Vielen Dank!
Verwenden '&', nicht '' &&. (Siehe "? Logic" Hilfeseite für den Unterschied) – MrFlick
Ich habe es gerade herausgefunden. Ich habe einen falschen Operator für und verwendet. Vielen Dank! – Justyna
Also, wenn Sie es mit nur '&' statt '&&' plotten Sie bekommen, was Sie wollen? Für mich bleiben 490 in der Grafik, und ich dachte, Sie wollten 490 loswerden, da es einen Grad von 0 hat. – Jota