Mein Problem ist sehr einfach: Ich muss eine Adjazenzliste/Matrix aus einer Liste von Kanten erstellen.Wie erstellt man eine gewichtete Adjazenzliste/Matrix aus der Kantenliste?
Ich habe eine Kantenliste in einem CSV-Dokument mit Spalte1 = Knoten1 und Spalte2 = Knoten2 gespeichert und möchte dies in eine gewichtete Adjazenzliste oder eine gewichtete Adjazenzmatrix umwandeln.
Genauer gesagt, ist hier zu sein, wie die Daten wie folgt aussehen -wo die Zahlen sind einfach Knoten-IDs:
node1,node2
551,548
510,512
548,553
505,504
510,512
552,543
512,510
512,510
551,548
548,543
543,547
543,548
548,543
548,542
Irgendwelche Tipps, wie die Umwandlung von dieser zu einer gewichteten Adjazenzliste/Matrix zu erreichen? Dies ist, wie ich beschlossen, es früher zu tun, ohne Erfolg (mit freundlicher Genehmigung von Dai Shizuka):
dat=read.csv(file.choose(),header=TRUE) # choose an edgelist in .csv file format
el=as.matrix(dat) # coerces the data into a two-column matrix format that igraph likes
el[,1]=as.character(el[,1])
el[,2]=as.character(el[,2])
g=graph.edgelist(el,directed=FALSE) # turns the edgelist into a 'graph object'
Thank you!
Können Sie uns ein kleines reproduzierbares Beispiel geben und Ihre möglichen Versuche, dies zu codieren? –
[Dieser Beitrag] (http://stackoverflow.com/questions/14332233/using-graph-adjacency-in-r/14332667#14332667) kann hilfreich sein. – Arun
Danke @Arun für das Zeigen auf diesen Beitrag. Es ist in der Tat nützlich, aber wenn ich mich nicht irre, sind ihre Daten bereits in einer Matrix angeordnet, während, wie Sie aus der bearbeiteten Version meiner Frage sehen können, ich eine andere Eingabe habe. Ich hoffe, dass ich durch die Bearbeitung des Posts auch auf Roman geantwortet habe. – Milo