Il mio problema è molto semplice: ho bisogno di creare una lista/matrice di adiacenza da un elenco di spigoli.Come creare una lista/matrice di adiacenza ponderata dall'elenco di spigoli?
Ho un elenco di bordi memorizzato in un documento csv con column1 = node1 e column2 = node2 e vorrei convertirlo in una lista di adiacenza ponderata o in una matrice di adiacenza ponderata.
Per essere più precisi, ecco come i dati si presenta come -dove i numeri sono ids semplicemente nodi:
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
Eventuali suggerimenti su come ottenere la conversione da questo ad una lista di adiacenza/matrice ponderata? Ecco come ho deciso di farlo in precedenza, senza successo (per gentile concessione di 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'
Grazie!
Puoi fornirci un piccolo esempio riproducibile e i tuoi possibili tentativi di codifica? –
[questo post] (http://stackoverflow.com/questions/14332233/using-graph-adjacency-in-r/14332667#14332667) potrebbe essere utile. – Arun
Grazie a @Arun per avermi indirizzato a quel post. È davvero utile, ma se non sbaglio i loro dati sono già disposti in modo matriciale mentre, come potete vedere dalla versione modificata della mia domanda, ho un input diverso. Modificando il post, spero di aver risposto anche a Roman. – Milo