У меня есть играф, в котором я хотел бы извлечь все соединения 1-й степени каждого узла вместе со соединениями второй степени. Таблицы должны быть раздельными.Получить соединения 1-й степени и соединения 2-й степени для всех узлов в Igraph
Полный воспроизводимый код с изображением графа ниже:
library(igraph)
library(visNetwork)
B = matrix(
c(1, 0, 0, 0, 0, 0, 1, 0, 0, 0,
0, 1, 0, 0, 1, 0, 0, 1, 0, 0,
0, 0, 1, 0, 0, 0, 0, 0, 1, 0,
0, 0, 0, 1, 0, 0, 0, 0, 0, 1,
0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
0, 0, 1, 1, 0, 1, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 1, 0, 0, 1,
0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
0, 0, 1, 0, 0, 0, 0, 0, 1, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 1),
nrow=10,
ncol=10)
colnames(B) <- c("Alpha", "Bravo", "Colonel", "Demo", "Egg", "Felix", "Gasoline", "Hurricane", "Indigo", "Jab")
rownames(B) <- c("Alpha", "Bravo", "Colonel", "Demo", "Egg", "Felix", "Gasoline", "Hurricane", "Indigo", "Jab")
g96e = t(B) %*% B
i96e = graph.adjacency(g96e, mode = "undirected", weighted = TRUE, diag=FALSE)
visIgraph(i96e)
Я хотел бы мой окончательный результат будет dataframe который выглядит следующим образом:
Node ID 1st Degree Connections
Alpha Gasoline
Bravo Egg
Bravo Hurricane
Colonel Felix
Colonel Indigo
Demo Felix
Demo Gasoline
Demo Jab
Egg Bravo
Felix Colonel
Felix Demo
Felix Hurricane
Felix Indigo
Gasoline Alpha
Gasoline Demo
Gasoline Jab
Hurricane Bravo
Hurricane Felix
Indigo Colonel
Indigo Felix
Jab Demo
Jab Gasoline
А потом другой фрейм с двумя соединениями второй степени и в идеале показывающий, где источник связи 2-й степени, но если это невозможно, то просто 2 nd степень подключение сделаю.
Node ID 2nd Degree Connections From 1st Degree Connection
Alpha Demo Gasoline
Alpha Jab Gasoline
Bravo Felix Hurricane
Colonel Demo Felix
Colonel Hurricane Felix
Colonel Indigo Felix
Colonel Felix Indigo
Demo Colonel Felix
Demo Hurricane Felix
Demo Indigo Felix
Demo Alpha Gasoline
Demo Jab Gasoline
Demo Gasoline Jab
Egg Hurricane Bravo
Felix Indigo Colonel
Felix Gasoline Demo
Felix Jab Demo
Felix Bravo Hurricane
Felix Colonel Indigo
Gasoline Felix Demo
Gasoline Jab Demo
Gasoline Demo Jab
Hurricane Egg Bravo
Hurricane Colonel Felix
Hurricane Demo Felix
Hurricane Indigo Felix
Indigo Felix Colonel
Indigo Colonel Felix
Indigo Demo Felix
Indigo Hurricane Felix
Jab Felix Demo
Jab Gasoline Demo
Jab Alpha Gasoline
Jab Demo Gasoline
Любая помощь была бы замечательной, спасибо!
Это идеальный вариант и намного меньше кода, чем я думал. Спасибо за вашу помощь! –