Другим вариантом является пакет statnet. Statnet имеет функции для всех обычно используемых показателей в SNA, а также может оценивать модели ERG. Если у вас есть данные в списке ребер, прочитайте данные следующим образом (при условии, что ваш фрейм данных помечен как «список краев»):
net <- as.network(edgelist, matrix.type = "edgelist", directed = TRUE) #if the network is directed, otherwise: directed = FALSE
Если ваши данные находятся в матрице смежности, вы заменяете аргумент matrix.type на «смежность»:
net <- as.network(edgelist, matrix.type = "adjacency", directed = TRUE)
Пакет statnet обладает очень хорошими возможностями построения графиков. Чтобы сделать простой график, просто наберите:
gplot(net)
Чтобы масштабировать узлы в соответствии с их центральностью, просто выполните:
bet <- betweenness(net)
gplot(net, vertex.cex = bet)
По умолчанию функция gplot использует алгоритм Fruchterman-Reingold для размещения узлов, однако это можно контролировать с помощью опции режима, например, для использования MDS для размещения типа узлов:
gplot(net, vertex.cex, mode = "mds")
или использовать макет круга:
gplot(net, vertex.cex, mode = "circle")
Есть много других возможностей, и это руководство охватывает большинство основных вариантов. Для самостоятельного примера:
net <- rgraph(20) #generate a random network with 20 nodes
bet <- betweenness(net) #calculate betweenness scores
gplot(net) #a simple plot
gplot(net, vertex.cex = bet/3) #nodes scaled according to their betweenness centrality, the measure is divided by 3 so the nodes don't become to big.
gplot(net, vertex.cex = bet/3, mode = "circle") #with a circle layout
gplot(net, vertex.cex = bet/3, mode = "circle", label = 1:20) #with node labels