Se conoce como sociograma a una técnica que, a través de la observación y la evaluación de un contexto, refleja en un gráfico los diferentes vínculos entre los miembros de un grupo. De esta manera, logra dejar en evidencia los grados de influencia y los lazos de preferencia que se presentan en él.
El dataset que vamos a importar corresponde a los datos de una aerolinea sobre el origen y destino del total de vuelos que hubo en los meses de Enero a Junio.
Lo primero que hacemos es importar las librerias que vamos a implementar y despues de ello importamos el archivo csv para mostrar sus primeras 6 filas.
library("igraph")
## Warning: package 'igraph' was built under R version 4.1.3
##
## Attaching package: 'igraph'
## The following objects are masked from 'package:stats':
##
## decompose, spectrum
## The following object is masked from 'package:base':
##
## union
library("dplyr")
## Warning: package 'dplyr' was built under R version 4.1.3
##
## Attaching package: 'dplyr'
## The following objects are masked from 'package:igraph':
##
## as_data_frame, groups, union
## The following objects are masked from 'package:stats':
##
## filter, lag
## The following objects are masked from 'package:base':
##
## intersect, setdiff, setequal, union
datos <- read.csv("c:/R/AEROLINEA.csv",header = TRUE,sep=",")
head(datos)
## ï..ORIGEN DESTINO ENE FEB MAR ABR MAY JUN TOTAL
## 1 ACAPULCO CANCUN 0 0 2 9 9 8 28
## 2 ACAPULCO GUADALAJARA 9 8 8 9 9 8 51
## 3 ACAPULCO MEXICO 200 171 207 248 240 272 1338
## 4 ACAPULCO MONTERREY 11 8 12 14 12 13 70
## 5 ACAPULCO TIJUANA 34 27 31 34 31 26 183
## 6 AGUASCALIENTES CANCUN 40 36 39 40 40 38 233
La libreria igraph contiene funciones para la creacion y manipulacion de grafos con facilidad.
Despues es creada una variable g en la cual trabajaremos con la funcion graph.data.frame().
g=graph.data.frame(datos,directed = T)
La anterior funcion tiene dos diferentes argumentos:
datos indica la variable que contiene el dataset
directed = T dibuja lineas con flechas que indiquen la direccion (origen y destino) de los primeros 10 origenes.
Continuando creamos el grafo haciendo uso de la funcion plot.igraph() la cual contiene diferentes parametros que se explicaran mas adelante.
plot.igraph(g,
edge.curved= F, # Aristas curvas F/T
edge.color = "black", # Color de aristas
edge.width = .3,
edge.arrow.size = 0.25,
vertex.color="#3256a8",
vertex.size=8)# Ancho de NODOS
g corresponde al objeto del tipo grafo que creamos anteriormente.
edge.curved = F indica que las aristas sean curvas (T) o no (F).
edge.color = "black" configura el color de las aristas.
edge.width = .3 establece el ancho de las aristas.
edge.arrow.size = 0.25 establece el tamaño de la flecha.
vertex.color = "#3256a8" colorea los nodos.
vertex.size = 8 indica el tamaño del nodo.