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.

Extraer DataSet de AEROLINEA

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.