Inną opcją jest pakiet statnet. Statnet ma funkcje dla wszystkich powszechnie używanych miar w SNA, a także może oszacować modele ERG. Jeśli masz swoje dane na liście brzegowej, przeczytaj dane w następujący sposób (zakładając, że twoja ramka danych jest oznaczona jako „edgelist”):
net <- as.network(edgelist, matrix.type = "edgelist", directed = TRUE) #if the network is directed, otherwise: directed = FALSE
Jeśli dane znajdują się w macierzy przyległości, zastępujesz argument matrix.type argumentem „przyleganie”:
net <- as.network(edgelist, matrix.type = "adjacency", directed = TRUE)
Pakiet statnet ma kilka bardzo fajnych możliwości drukowania. Aby zrobić prosty wątek, po prostu wpisz:
gplot(net)
Aby przeskalować węzły zgodnie z centralnością między nimi, po prostu wykonaj:
bet <- betweenness(net)
gplot(net, vertex.cex = bet)
Domyślnie funkcja gplot używa algorytmu Fruchtermana-Reingolda do umieszczania węzłów, jednak można to kontrolować za pomocą opcji trybu, na przykład aby używać MDS do umieszczania typu węzłów:
gplot(net, vertex.cex, mode = "mds")
lub użyć układu okręgu:
gplot(net, vertex.cex, mode = "circle")
Istnieje wiele innych możliwości, a ten przewodnik obejmuje większość podstawowych opcji. Dla niezależnego przykładu:
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