Моя проблема очень проста: мне нужно создать список смежности из списка ребер.Как создать взвешенный список смежности/матрицу из списка ребер?
У меня есть список краев, хранящихся в документе csv с столбцом1 = node1 и column2 = node2, и я хотел бы преобразовать его в список взвешенных смежности или взвешенную матрицу смежности.
Чтобы быть более точным, то здесь, как данные выглядят как -где цифры просто узловые идентификаторы:
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
Любые советы о том, как добиться преобразования из этого взвешенному списка смежности/матрицы? Вот как я решил сделать это раньше, но безуспешно (любезно 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'
Спасибо!
Можете ли вы предоставить нам небольшой воспроизводимый пример и ваши возможные попытки кодирования этого? –
[Это сообщение] (http://stackoverflow.com/questions/14332233/using-graph-adjacency-in-r/14332667#14332667) может быть полезно. – Arun
Спасибо @Arun за то, что указал мне на этот пост. Это действительно полезно, но если я не ошибаюсь, их данные уже расположены в матричной форме, тогда как, как вы можете видеть из отредактированной версии моего вопроса, у меня есть другой вклад. Редактируя сообщение, я надеюсь, что я тоже ответил Роману. – Milo