Я пытаюсь написать код R, который показывает степень разделения между друзьями. То есть, предположим, что я выбираю узел со стрелкой, указывающей на него, и говорю степень = 3, я хотел бы иметь возможность идентифицировать следующий путь в этой сети:
Думаю, я нашел предыдущий пост о stackoverflow, который отвечает на аналогичный вопрос: R Подграф Igraph с заданным индексом узла и количеством узлов, которые нужно включить в граф
Предположим, я создаю фальшивые сетевые данные:
library(igraph)
file <-data.frame(
"source" = c(
"John",
"John",
"Tim",
"Tim",
"Alex",
"Andrew",
"Andrew",
"Andrew",
"Oliver",
"Oliver",
"Oliver",
"Matt",
"Steven",
"Steven",
"Steven",
"Matt",
"Charles",
"Charles",
"Charles",
"Sean",
"Ted",
"Ryan",
"Ryan",
"Ryan",
"Ted",
"Phil",
"Phil",
"Phil",
"Sam",
"Toby",
"Toby",
"Donald",
"Donald",
"Donald",
"Mitch",
"Mitch",
"Mitch"),
"target" = c("Sam",
"Tim",
"Alex",
"Matt",
"Andrew",
"Sean",
"Peter",
"Ben",
"Kevin",
"Thomas",
"Dave",
"Steven",
"Kenny",
"Derek",
"CJ",
"Charles",
"Ivan",
"Kyle",
"Andrew",
"Ted",
"Ryan",
"Daniel",
"Chris",
"Scott",
"Phil",
"Henry",
"George",
"Paul",
"Toby",
"Donald",
"Mitch",
"Jack",
"Luke",
"Myles",
"Elliot",
"Harvey",
"Owen")
)
graph <- graph.data.frame(file, directed=F)
graph <- simplify(graph)
plot(graph)
Это правильный код для построения трех степеней разделения для Джона?
distan <- 3
subnetwork <- induced.subgraph(graph, vids = as.vector(unlist(neighborhood(graph, distan, nodes = "John", mode = 'all'))))
plot(subnetwork)
Есть ли способ узнать, у кого больше всего друзей в этой сети? (узел с наибольшим количеством подключений)
Спасибо