Este reporte presenta un análisis descriptivo de los pasajeros nacionales e internacionales por estado y mes. Se incluyen tablas de frecuencias, estadísticas descriptivas y gráficos
setwd("~/Curso R Octubre 2025")
archivo<-read.csv("S4_ASA_estadisticasPasajeros.csv",header=TRUE,sep=",")
library(dplyr)
##
## Adjuntando el paquete: 'dplyr'
## The following objects are masked from 'package:stats':
##
## filter, lag
## The following objects are masked from 'package:base':
##
## intersect, setdiff, setequal, union
library(janitor)
##
## Adjuntando el paquete: 'janitor'
## The following objects are masked from 'package:stats':
##
## chisq.test, fisher.test
library(ggplot2)
str(archivo)
## 'data.frame': 216 obs. of 6 variables:
## $ Anio.mes : int 201501 201501 201501 201501 201501 201501 201501 201501 201501 201501 ...
## $ Codigo.IATA : chr "CEN" "CLQ" "CME" "CPE" ...
## $ Descripcion : chr "Ciudad Obregon" "Colima" "Ciudad del Carmen" "Campeche" ...
## $ Estado : chr "Sonora" "Colima" "Campeche" "Campeche" ...
## $ Pasajeros.nacionales : int 17149 8486 56079 13264 13153 4695 1315 1050 6684 5609 ...
## $ Pasajeros.internacionales: int 721 124 3126 215 0 139 386 2684 61 10 ...
archivo %>%
tabyl(Anio.mes) %>%
adorn_totals("row") %>%
adorn_pct_formatting(digits = 2)
## Anio.mes n percent
## 201501 18 8.33%
## 201502 18 8.33%
## 201503 18 8.33%
## 201504 18 8.33%
## 201505 18 8.33%
## 201506 18 8.33%
## 201507 18 8.33%
## 201508 18 8.33%
## 201509 18 8.33%
## 201510 18 8.33%
## 201511 18 8.33%
## 201512 18 8.33%
## Total 216 100.00%
archivo %>%
tabyl(Codigo.IATA) %>%
adorn_totals("row") %>%
adorn_pct_formatting(digits = 2)
## Codigo.IATA n percent
## CEN 12 5.56%
## CLQ 12 5.56%
## CME 12 5.56%
## CPE 12 5.56%
## CTM 12 5.56%
## CVM 12 5.56%
## GYM 12 5.56%
## LTO 12 5.56%
## MAM 12 5.56%
## NLD 12 5.56%
## NOG 12 5.56%
## PAZ 12 5.56%
## PBC 12 5.56%
## PXM 12 5.56%
## TCN 12 5.56%
## TPQ 12 5.56%
## TSL 12 5.56%
## UPN 12 5.56%
## Total 216 100.00%
archivo %>%
tabyl(Descripcion) %>%
adorn_totals("row") %>%
adorn_pct_formatting(digits = 2)
## Descripcion n percent
## Campeche 12 5.56%
## Chetumal 12 5.56%
## Ciudad Obregon 12 5.56%
## Ciudad Victoria 12 5.56%
## Ciudad del Carmen 12 5.56%
## Colima 12 5.56%
## Guaymas 12 5.56%
## Loreto 12 5.56%
## Matamoros 12 5.56%
## Nogales 12 5.56%
## Nuevo Laredo 12 5.56%
## Poza Rica 12 5.56%
## Puebla 12 5.56%
## Puerto Escondido 12 5.56%
## Tamuin 12 5.56%
## Tehuacan 12 5.56%
## Tepic 12 5.56%
## Uruapan 12 5.56%
## Total 216 100.00%
archivo %>%
tabyl(Estado) %>%
adorn_totals("row") %>%
adorn_pct_formatting(digits = 2)
## Estado n percent
## Baja California Sur 12 5.56%
## Campeche 24 11.11%
## Colima 12 5.56%
## Michoacan 12 5.56%
## Nayarit 12 5.56%
## Oaxaca 12 5.56%
## Puebla 24 11.11%
## Quintana Roo 12 5.56%
## San Luis Potosi 12 5.56%
## Sonora 36 16.67%
## Tamaulipas 36 16.67%
## Veracruz 12 5.56%
## Total 216 100.00%
tabla_cuant <- archivo %>%
summarise(
Variable = "Pasajeros.nacionales",
n = sum(!is.na(Pasajeros.nacionales)),
min = min(Pasajeros.nacionales, na.rm = TRUE),
q1 = quantile(Pasajeros.nacionales, 0.25, na.rm = TRUE),
mediana = median(Pasajeros.nacionales, na.rm = TRUE),
media = mean(Pasajeros.nacionales, na.rm = TRUE),
q3 = quantile(Pasajeros.nacionales, 0.75, na.rm = TRUE),
max = max(Pasajeros.nacionales, na.rm = TRUE),
sd = sd(Pasajeros.nacionales, na.rm = TRUE)
) %>%
bind_rows(
archivo %>%
summarise(
Variable = "Pasajeros.internacionales",
n = sum(!is.na(Pasajeros.internacionales)),
min = min(Pasajeros.internacionales, na.rm = TRUE),
q1 = quantile(Pasajeros.internacionales, 0.25, na.rm = TRUE),
mediana = median(Pasajeros.internacionales, na.rm = TRUE),
media = mean(Pasajeros.internacionales, na.rm = TRUE),
q3 = quantile(Pasajeros.internacionales, 0.75, na.rm = TRUE),
max = max(Pasajeros.internacionales, na.rm = TRUE),
sd = sd(Pasajeros.internacionales, na.rm = TRUE)
)
)
tabla_cuant
## Variable n min q1 mediana media q3 max
## 1 Pasajeros.nacionales 216 63 1198.5 7947 10608.4213 14883.75 56418
## 2 Pasajeros.internacionales 216 0 7.0 107 818.2454 584.00 7042
## sd
## 1 11609.621
## 2 1522.768
A partir de la exploración anterior se puede observar que se trata de una base de datos con 216 casos y 8 variables y corresponde a datos de 18 aeropuertos ubicados en 12 entidades mexicanas, observadas en los 12 meses de 2015. Cada caso (aeropuerto-mes) contiene la información del número total de pasajeros nacionales e internacionales. Los datos cuantitativos nos indican volumenes muy diferentes de pasajeros manejados, en el caso de los nacionales oscilan entre 63 y 56,418 pasajeros por mes; en el caso de pasajeros internacionales algunos aeropuertos no manejean esta categoría pues los datos indican un mínimo de cero. El volumen de pasajeros internacionales es inferior al de los nacionales ya que se tiene un número máximo de 7,042.
# Histograma de pasajeros nacionales
ggplot(archivo, aes(x = Pasajeros.nacionales)) +
geom_histogram(bins = 5, fill = "steelblue", color = "white") +
theme_minimal() +
labs(
title = "Distribución de pasajeros nacionales",
x = "Pasajeros nacionales",
y = "Frecuencia"
)
ggplot(archivo, aes(x = Pasajeros.internacionales)) +
geom_histogram(bins = 5, fill = "darkorange", color = "white") +
theme_minimal() +
labs(
title = "Distribución de pasajeros internacionales",
x = "Pasajeros internacionales",
y = "Frecuencia"
)
####### Observamos que sólo algunos aeropuertos manejan una cantidad
grande de pasajeros tanoto nacionales como internacionales.
total_estado <- archivo %>%
group_by(Estado) %>%
summarise(
Total_pasajeros = sum(Pasajeros.nacionales + Pasajeros.internacionales, na.rm = TRUE)
) %>%
arrange(desc(Total_pasajeros))
# Gráfico de barras
ggplot(total_estado, aes(x = reorder(Estado, Total_pasajeros), y = Total_pasajeros)) +
geom_bar(stat = "identity", fill = "steelblue") +
coord_flip() +
theme_minimal() +
labs(
title = "Total de pasajeros por Entidad",
x = "Entidad",
y = "Número total de pasajeros"
)
De los doce estados considerados en el análisis Campeche es el que manejo más pasajeros durante 2015 y San Luis Potosí el que menos.
library(lubridate)
##
## Adjuntando el paquete: 'lubridate'
## The following objects are masked from 'package:base':
##
## date, intersect, setdiff, union
archivo <- archivo %>%
mutate(
Fecha = ymd(paste0(Anio.mes, "01")), # agrega día 01
Mes = month(Fecha, label = TRUE, abbr = TRUE) # etiquetas cortas: Ene, Feb, Mar...
)
pasajeros_mes <- archivo %>%
group_by(Mes, Descripcion) %>%
summarise(
Total = sum(Pasajeros.nacionales + Pasajeros.internacionales, na.rm = TRUE)
)
## `summarise()` has grouped output by 'Mes'. You can override using the `.groups`
## argument.
ggplot(pasajeros_mes, aes(x = Mes, y = Total)) +
geom_boxplot(fill = "skyblue", color = "gray40") +
theme_minimal() +
labs(
title = "Dispersión del total de pasajeros por mes",
x = "Mes",
y = "Total de pasajeros"
)
No se observa un mes especial donde se dispare el número de pasajeros en los aeropuertos analizados, notamos que en cada mes, hay al menos un aeropuerto que tiene valores más grande que el resto. Analizando los datos nos percatamos que corresponde al aeropuerto de Ciudad del Carmen.
# Calcular el total de pasajeros por aeropuerto y estado
pasajeros_Estado <- archivo %>%
group_by(Estado, Codigo.IATA) %>%
summarise(
Total = sum(Pasajeros.nacionales + Pasajeros.internacionales, na.rm = TRUE)
)
## `summarise()` has grouped output by 'Estado'. You can override using the
## `.groups` argument.
# Crear boxplot
ggplot(pasajeros_Estado, aes(x = Estado, y = Total)) +
geom_boxplot(fill = "skyblue", color = "gray40") +
theme_minimal() +
labs(
title = "Dispersión del total de pasajeros por estado",
x = "Entidad",
y = "Total de pasajeros"
)
La gráfica muestra que los valores más altos de pasajeros corresponden a Campeche y por lo que vimos en el punto anterior se refiere en particular al aeropuerto Ciudad del Carmen.
ggplot(archivo, aes(x = Pasajeros.nacionales, y = Pasajeros.internacionales, color = Estado)) +
geom_point(alpha = 0.7, size = 3) +
theme_minimal() +
labs(
title = "Relación entre pasajeros nacionales e internacionales",
x = "Pasajeros nacionales",
y = "Pasajeros internacionales"
) +
theme(legend.position = "bottom")
Se puede observar que no hay relación lineal entre ambas variables, pero se observa que del total de pasajeros la mayoría son del tipo nacional y que hay varios aeropuertos que tuvieron en algunos meses un número muy bajo de pasajeros internacioanles, y en sentido contrario el estado de Baja California Sur y Sonora tuvieron principalmente pasajeros internacionales.