igraph, r: исключить из списка оценки центральности узлов для списка матриц

Я работаю со списком сетевых графов (т. Е. С более чем 1000 матриц смежности), которые я анализирую с помощью пакета igraph. Графики хранятся в отдельном файле, каждый из которых имеет уникальный идентификатор.

Я рассчитал баллы центральности промежуточности отдельных узлов в каждом соответствующем графике, используя следующий код:

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 

Теперь мне нужен один фрейм данных со столбцами для идентификаторов графика, идентификаторов узлов и индивидуальных оценок промежуточности. Нравится:

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 .....

Я пытался удалить из списка, выполнить rbind и т. Д., Но по какой-то причине я не могу заставить это работать. Если бы кто-нибудь мог мне с этим помочь, это было бы замечательно!


person HJ_r    schedule 26.03.2016    source источник
comment
Попробуйте с melt, т.е. library(reshape2); melt(Between)   -  person akrun    schedule 26.03.2016
comment
Спасибо, это сработало для идентификаторов Graph ID, но не для идентификаторов узлов. (т.е. я получаю два столбца с Graph.ID и Betweenness) Есть ли способ включить оба?   -  person HJ_r    schedule 26.03.2016
comment
Попробуйте melt(lapply(Between, stack))[-2]   -  person akrun    schedule 26.03.2016
comment
Работал как шарм. Спасибо!   -  person HJ_r    schedule 27.03.2016


Ответы (1)


Мы могли бы melt list после stack присвоения названных vector в list

library(reshape2)
melt(lapply(Between, stack))[-2]
person akrun    schedule 27.03.2016