2017-02-25 2 views
0

ich IGRAPH bin mit und versuchen, einige zu löschen vertices.When Ich versuche Vertex zu löschen 77, ich sehe Scheitel 78, die mit ihm verbunden wird gelöscht und nicht 77 selbst ...Löschen von Eckpunkten in R

library(graph) 

out <- read.csv("~/Downloads/adj/out.adjnoun_adjacency_adjacency", sep="") 

out.network<-graph.data.frame(out,directed = FALSE) 

x<-delete_vertices(out.network,c(77)) 

plot(x) 

Warum ist das .. Was mache ich Fehler

+2

Pls Ihre Post bearbeiten und ein reproduzierbares Beispiel machen, z.B. 'Bibliothek (igraph); set.seed (1); g <- ba.game (20); Koordinaten <- layout.auto (g); par (mfrow = c (1,2)); Diagramm (g, Layout = coords, vertex.label = V (g) $ name); plot (delete.vertices (g, 5), layout = coords [-5,]) '. Welche Version von higigraph? – lukeA

+0

'Fehler: ... Datei kann nicht geöffnet werden 'C: /Users/Rene/Downloads/adj/out.adjnoun_adjacency_adjacency': Keine Datei oder Verzeichnis" – lukeA

+0

das war meine lokale Datei ... Ich importierte die Option "Import" in R – vidhya9

Antwort

0

das funktionierte ...

data1 < -data1-V (data1) [ "23"]

1

Sind Sie sicher, dass Vertex #78 gelöscht wird? igraph Vertex-Indizes sind immer kontinuierlich, also, wenn Sie löschen, wird die ehemalige #78 wird die neue #77, und die Grafik wird nicht mehr #78#78 haben. Wir können dies mit einem Vertex-Attribut demonstrieren, das den Indizes vor dem Löschen entspricht. Das Beispiel prüft unten, dass der ursprüngliche Vertex #78 den Index hat #77 nach #77 Löschen:

library(igraph) 

g <- barabasi.game(n = 78, m = 3) 

V(g)$original_index <- seq(1:vcount(g)) 

V(g)$original_index 

V(g)$original_index[77] 
[1] 77 

g <- delete.vertices(g, c(77)) 

V(g)$original_index[77] 
[1] 78 
+0

Immer noch nicht in der Lage zu lösen ... Der obige Code, den Sie gegeben haben, löscht nicht den Scheitelpunkt 77 als Ganzes. Ich kann immer noch 77 sehen, wenn ich das Diagramm plotte – vidhya9

+0

Das ist nicht das Original 77, sondern das Original 78. Sie können dies leicht überprüfen, indem Sie mit den ursprünglichen Etiketten plotten: 'plot (g, vertex.label = V (g) $ original_index) '. Zur weiteren Bestätigung können Sie eine eindeutige Farbe zuweisen oder die Verbindungen überprüfen, und Sie werden sehen, dass das 77 nach dem Löschen das Original ist 78. – deeenes

Verwandte Themen