Practica 01 Aerolíneas y estados más visitados

En esta práctica se realizará una gráfica que nos muestre que estados del país de México llegan a ser más transitados de acuerdo a las aerolíneas que realizan los vuelos de esta forma identificaremos los estados con mayor concurrencia de turistas que llegan a dichas ciudades.

Extracción de las librerías.

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

Extracción de datos tipo CSV.

datos <- read.csv(file = "c:/R/AEROLINEA.csv",header = TRUE, sep = ",")

Agrupación de datos por número de repeticiones

Realizar una agrupación entre el total de repeticiones de las ciudades más visitadas de acuerdo al Origen y su Destino.

Continuar con una suma entre todas las ciudades eliminando de esta forma los valores repetidos dejando solamente valores únicos permitiendo una fácil emulación en una gráfica.

Finalizar con la ordenación de los valores obtenidos de forma descendente.

valor1 = datos %>% group_by(ï..ORIGEN) %>% summarise(n=n()) %>% arrange(-n)
valor1
## # A tibble: 55 x 2
##    ï..ORIGEN         n
##    <chr>         <int>
##  1 MEXICO           49
##  2 TIJUANA          35
##  3 GUADALAJARA      31
##  4 MONTERREY        29
##  5 CANCUN           22
##  6 HERMOSILLO       14
##  7 CHIHUAHUA        13
##  8 CIUDAD JUAREZ    13
##  9 MAZATLAN         11
## 10 QUERETARO        11
## # ... with 45 more rows
valor2 = datos %>% group_by(DESTINO) %>% summarise(n=n()) %>% arrange(-n)
valor2
## # A tibble: 55 x 2
##    DESTINO             n
##    <chr>           <int>
##  1 MEXICO             49
##  2 TIJUANA            35
##  3 GUADALAJARA        31
##  4 MONTERREY          29
##  5 CANCUN             22
##  6 CHIHUAHUA          13
##  7 CIUDAD JUAREZ      13
##  8 HERMOSILLO         13
##  9 MAZATLAN           11
## 10 SAN LUIS POTOSI    11
## # ... with 45 more rows

Creación de una nueva tabla.

Realizar la suma de las dos tablas para la creación de una sola, esto facilitara la comparación entre ambas al crear una gráfica.

Para terminar con datos y las tablas realizaremos un filtro para obtener los primeros diez valores de la tabla, al estar los datos ordenados de mayor a menor este filtro obtendrá los valores con mayor cantidad registrados.

datos1 = datos %>% summarise(valor1, valor2) %>% arrange(-n)
datos2 = datos1[1:10,]
datos2
##        ï..ORIGEN  n         DESTINO
## 1         MEXICO 49          MEXICO
## 2        TIJUANA 35         TIJUANA
## 3    GUADALAJARA 31     GUADALAJARA
## 4      MONTERREY 29       MONTERREY
## 5         CANCUN 22          CANCUN
## 6     HERMOSILLO 13       CHIHUAHUA
## 7      CHIHUAHUA 13   CIUDAD JUAREZ
## 8  CIUDAD JUAREZ 13      HERMOSILLO
## 9       MAZATLAN 11        MAZATLAN
## 10     QUERETARO 11 SAN LUIS POTOSI

Graficar resultados

Para finalizar con la práctica realizaremos una gráfica en forma de circulo haciendo énfasis en los países con mayor visitante ya sean extranjeros o del mismo país de México relacionando los países que tienen una multitud de igual tamaño que otros.

g=graph.data.frame(datos2,directed = 1)
plot.igraph(g,
            vertex.size=datos1$n,
            edge.arrow.size = 0.6,
            edge.arrow.width = 0.9,
            vertex.label.cex = 0.8,
            edge.color = "purple",
            vertex.label.color ="#2400C8",
            edge.curved = F,
            main="Destinos mas populares",
            layout = layout.circle(g),
            vertex.color = "#7CFB2D",)
## Warning in layout[, 1] + label.dist * cos(-label.degree) * (vertex.size + :
## longitud de objeto mayor no es múltiplo de la longitud de uno menor
## Warning in layout[, 2] + label.dist * sin(-label.degree) * (vertex.size + :
## longitud de objeto mayor no es múltiplo de la longitud de uno menor