Wie erstelle ich eine gewichtete Adjazenzliste / Matrix aus einer Kantenliste?
Mein Problem ist sehr einfach: Ich muss eine Adjazenzliste / Matrix aus einer Kantenliste erstellen.
Ich habe eine Kantenliste in einem csv-Dokument mit column1 = node1 und column2 = node2 gespeichert und möchte diese in eine gewichtete Adjazenzliste oder eine gewichtete Adjazenzmatrix konvertieren.
Genauer gesagt sehen die Daten wie folgt aus - wobei die Zahlen einfach Knoten-IDs sind:
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 man die Umwandlung von dieser in eine gewichtete Adjazenzliste / Matrix erreicht? Dies ist, wie ich beschlossen habe, es zuvor ohne Erfolg zu tun (mit freundlicher Genehmigung vonDai 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'
Vielen Dank!