Trabajando con análisis de redes
Un grafo nos da cuenta de la relación binaria entre los elementos de un conjunto. Por ejemplo, un grafo nos informa sobre la relación de amistad entre un grupo de personas: personas={A,B,C,D,E}; relación=({A,B}, {A,C},{B,C}, {C,E}). Observamos que A tiene relación con B y C; B con C y C con E. Esta relación ser observa mejor si generamos el grafo. Para ello debemo instalar los paquetes necesarios. A las personas cuyas relaciones deseamos graficar las llamaremos vertices, o nodos.
require(igraph)
require(statnet)
Un gráfico circular simple
g <- graph.ring(5)
plot(g)
# un gráfico al azar
g <- barabasi.game(20)
plot(g)
# dándole formato
plot(g, layout = layout.fruchterman.reingold, vertex.size = 4, vertex.label.dist = 0.5,
vertex.color = "red", edge.arrow.size = 0.5)
# con colores diferentes segun componentes
g <- erdos.renyi.game(100, 1/100)
comps <- clusters(g)$membership
colbar <- rainbow(max(comps) + 1)
V(g)$color <- colbar[comps + 1]
plot(g, layout = layout.fruchterman.reingold, vertex.size = 5, vertex.label = NA)
# comunidades
g <- barabasi.game(20)
plot(g)
plot(g, vertex.size = 30)
plot(g, vertex.size = 30, vertex.color = "aliceblue")
plot(g, vertex.size = 30, vertex.color = "aliceblue", vertex.shape = "none")
plot(g, vertex.size = 30, vertex.color = "aliceblue", vertex.shape = "none",
edge.color = "lightgrey", edge.arrow.size = 0.5)
plot(g, vertex.size = 30, vertex.color = "aliceblue", vertex.shape = "none",
edge.color = "lightgrey", edge.arrow.size = 0.5, edge.arrow.width = 0.5)
plot(g, vertex.size = 30, vertex.color = "aliceblue", vertex.shape = "none",
edge.color = "lightgrey", edge.arrow.size = 0.5, edge.arrow.width = 0.5,
edge.curved = -1)
plot(g, vertex.size = 30, vertex.color = "aliceblue", vertex.shape = "none",
edge.color = "lightgrey", edge.arrow.size = 0.5, edge.arrow.width = 0.5,
edge.curved = 2, layout = layout.fruchterman.reingold)
No hay comentarios.:
Publicar un comentario