Я работаю со списком сетевых графиков (т. Е. 1000+ матриц смежности), которые я анализирую с помощью пакета igraph. Графы хранятся в разделенном файле, причем каждый граф имеет уникальный идентификатор.igraph, r: список узлов для списка матриц для списка матриц
Я вычислил промежуточность центральности оценки отдельных узлов в каждой соответствующей графе, используя следующий код:
b <- function (b) betweenness(b, directed = FALSE, normalized = TRUE)
Between <- lapply (listofgraphs, b)
show(Between) #looks like this:
$`35630` #Graph ID
1676 1741 1750 #Node ID
0 1 0 #Scores
$`35631`
1738 1750
0 1
$`35633`
1738 1750 4110
0 0 0
Теперь, что мне нужно, это один dataframe с colums для графа идентификаторов, узел идентификаторов и личности баллы за разницу. Как это:
Graph.ID Node.ID Betweenness
35630 1676 0
35630 1741 1
35630 1759 0
35631 1738 0
35631 1750 1
35631 1738 0
35633 1750 0
35633 et cetera .....
Я пытался unlist, rbind и такие, но по некоторым причинам я не могу получить эту работу. Если бы кто-то помог мне с этим, это было бы потрясающе!
Попробуйте с '' melt' т.е. библиотеки (reshape2); melt (Between) ' – akrun
Спасибо, что работало для идентификаторов Graph, но не с идентификаторами узлов. (т. Е. Я получаю два столбца с 'Graph.ID' и 'Betweenness') Есть ли способ включить оба? –
Попробуйте «расплавить (lapply (Between, stack)) [- 2]' – akrun