Я не понимаю, какие данные у вас были, вот пример процедуры для анализа небольшой сети:
- Сначала вам нужно определить, какую ссылку вы хотите анализировать (например, какую Направлены ли ребра - и, возможно, взаимны - или нет? Какие характеристики узлов и ребер важны?).
Затем вам нужно создать свой список ребер. В моем случае наиболее распространенный способ для небольшой сети (не требующий большой производительности) - это создать data.frame с tidyverse . В каждом случае сетевого анализа вам нужен список ребер. Обычно это data.frame со связями между двумя объектами, которые вы называете своей сетью. Затем анализ:
- ТОЛЬКО ДЛЯ МАЛЕНЬКОГО ГРАФИКА, вы начинаете с построения и чтения графика. После этого список краев отправляется в igraph и строится, предполагая, что вам нужен синтаксис tidyverse (
%>%
):
myedgeslist <- data.frame(from = c('man1', 'man2','man3', 'man3'),
to = c('man3','man1','man1', 'man2') )
mygraph <- myedgeslist %>% igraph::graph_from_data_frame(directed = T)
mygraph %>% igraph::plot.igraph()
Который рисует небольшую направленную сеть между 3 узлами и 4 связями (Igraph сказал: IGRAPH DN-- 3 4 --
для обозначения сети с направленным DN, 3 узла и 4 канала).
- Параллельно, вам нужно создать некоторую tidyverse групповую статистику, например,
myedgeslist %>% group_by(to) %>% summarise(nlinksto= n(), n_nodes=n_distinct(from)) %>% arrange(desc(n_nodes))
сказал, что 'man1' является наиболее центральными узлами, потому что 2 ссылки go на него (вместо одной ссылки для man3 и man2).
Параллельно, как я сказал выше, прочтите некоторые теоретические сведения о сетевом анализе и вычислите индикаторы для понимания сети (центральность, взаимность ...). например,
mygraph %>% igraph::edge_density()
говорит, что 66% направленных ссылок реализованы в этой сети.
PS : обычно это плохая идея чтобы построить большую сеть, вы должны разделить их на несколько частей или возобновить сеть по глобальной / сгруппированной статистике.