Rappresentazione e visualizzazione

Avviare R da un terminale con l'omonimo comando e, se non già fatto, installare il pacchetto igraph per l'analisi dei grafi col comando:

install.packages("igraph")

Caricate il pacchetto igraph:

library(igraph)

Leggiamo un grafo diretto. Il grafo è scritto nel file graph1.gml in un formato GML (Graph Modeling Language):

g1 = read.graph(file="graph1.gml", format="gml")

Creiamo il layout di visualizzazione e salviamo le coordinate in una variabile:

coords1 = layout.fruchterman.reingold(g1)

Quindi visualizziamo il grafo:

plot(g1, layout=coords1, vertex.size=10) 

Facciamo lo stesso con un grafo indiretto scritto nel file graph2.gml:

g2 = read.graph(file="graph2.gml", format="gml")
coords2 = layout.fruchterman.reingold(g2)
plot(g2, layout=coords2, vertex.size=10) 

Calcoliamo il grado entrante, uscente e totale dei nodi del grafo diretto:

d.in = degree(g1, mode="in")
d.out = degree(g1, mode="out")
d.tot = degree(g1, mode="tot")

Verifichiamo che la somma dei gradi entranti oppure uscenti è il numero di archi:

sum(d.in)
sum(d.out)
ecount(g1)

Calcoliamo il grado dei nodi del grafo indiretto:

d = degree(g2)

Verifichiamo che la somma dei gradi è il doppio del numero di archi:

sum(d)
ecount(g2)