Outra opção é o pacote statnet. O Statnet possui funções para todas as medidas comumente usadas no SNA e também pode estimar os modelos ERG. Se você tiver seus dados em uma lista de margem, leia-os da seguinte maneira (assumindo que seu quadro de dados esteja rotulado como "edgelist"):
net <- as.network(edgelist, matrix.type = "edgelist", directed = TRUE) #if the network is directed, otherwise: directed = FALSE
Se seus dados estiverem em uma matriz de adjacência, substitua o argumento matrix.type por "adjacency":
net <- as.network(edgelist, matrix.type = "adjacency", directed = TRUE)
O pacote statnet possui alguns recursos de plotagem muito agradáveis. Para fazer um gráfico simples, basta digitar:
gplot(net)
Para dimensionar os nós de acordo com a centralidade entre eles, basta:
bet <- betweenness(net)
gplot(net, vertex.cex = bet)
Por padrão, a função gplot usa o algoritmo Fruchterman-Reingold para colocar os nós; no entanto, isso pode ser controlado a partir da opção mode, por exemplo, para usar o MDS para a colocação do tipo de nós:
gplot(net, vertex.cex, mode = "mds")
ou para usar um layout de círculo:
gplot(net, vertex.cex, mode = "circle")
Existem muito mais possibilidades, e este guia cobre a maioria das opções básicas. Para um exemplo independente:
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