Получите индекс степени для обеих вершин в edge_list и из индексов в отдельных столбцах кадра данных - PullRequest
0 голосов
/ 25 февраля 2020

Я использовал функцию degree() из пакета igraph для вычисления индексов степени для обеих вершин на ребре для небольшого примера списка ребер из 7 уникальных ребер, и мне интересно, как я могу преобразовать эти индексы степени в два отдельные столбцы для обеих вершин на одном и том же уникальном ребре, ниже приведен пример кода:

library(igraph)
g <- graph.formula(1-2-3-4, 2-5, 3-6, 2-4-7)
degs <- degree(g, mode = "out")

Желаемый результат должен выглядеть следующим образом

from	to	from_out	to_out
1	    2	     1	      4
2	    3	     4	      3 
3	    4      3	      3 
2	    5	     4	      1
3	    6	     3	      1
2	    4	     4	      3 
4	    7	     3	      1

Будет очень признательно, если кто-то сможет пролить свет на это.

1 Ответ

1 голос
/ 25 февраля 2020
#turn graph to data.frame
DF <- as_data_frame(g)

#degs is a named vector
DF$from_out <- degs[as.character(DF$from)]
DF$to_out <- degs[as.character(DF$to)]
#  from to from_out to_out
#1    1  2        1      4
#2    2  3        4      3
#3    2  4        4      3
#4    2  5        4      1
#5    3  4        3      3
#6    3  6        3      1
#7    4  7        3      1
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...