Se carga la base de datos
S5_ASA_estadisticasPasajeros.csv ubicada en la carpeta
Downloads.
Esta base contiene información sobre el número de pasajeros nacionales e
internacionales registrados en distintos aeropuertos de México durante
el año 2015.
# Cargar librerías necesarias
library(tidyverse)
## ── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
## ✔ dplyr 1.1.4 ✔ readr 2.1.5
## ✔ forcats 1.0.1 ✔ stringr 1.6.0
## ✔ ggplot2 4.0.0 ✔ tibble 3.3.0
## ✔ lubridate 1.9.4 ✔ tidyr 1.3.1
## ✔ purrr 1.2.0
## ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
## ✖ dplyr::filter() masks stats::filter()
## ✖ dplyr::lag() masks stats::lag()
## ℹ Use the conflicted package (<http://conflicted.r-lib.org/>) to force all conflicts to become errors
library(ggplot2)
library(dplyr)
library(readr)
# Cargar el archivo CSV
pasajeros <- read_csv("/Users/rafael/Downloads/S5_ASA_estadisticasPasajeros.csv")
## Rows: 216 Columns: 6
## ── Column specification ────────────────────────────────────────────────────────
## Delimiter: ","
## chr (3): Codigo IATA, Descripcion, Estado
## dbl (3): Anio mes, Pasajeros nacionales, Pasajeros internacionales
##
## ℹ Use `spec()` to retrieve the full column specification for this data.
## ℹ Specify the column types or set `show_col_types = FALSE` to quiet this message.
# Visualizar las primeras filas
head(pasajeros)
## # A tibble: 6 × 6
## `Anio mes` `Codigo IATA` Descripcion Estado `Pasajeros nacionales`
## <dbl> <chr> <chr> <chr> <dbl>
## 1 201501 CEN Ciudad Obregon Sonora 17149
## 2 201501 CLQ Colima Colima 8486
## 3 201501 CME Ciudad del Carmen Campeche 56079
## 4 201501 CPE Campeche Campeche 13264
## 5 201501 CTM Chetumal Quintana Roo 13153
## 6 201501 CVM Ciudad Victoria Tamaulipas 4695
## # ℹ 1 more variable: `Pasajeros internacionales` <dbl>
Se verifica la estructura del dataframe y el tipo de datos asignado a cada variable para asegurar su correcta lectura.
str(pasajeros)
## spc_tbl_ [216 × 6] (S3: spec_tbl_df/tbl_df/tbl/data.frame)
## $ Anio mes : num [1:216] 201501 201501 201501 201501 201501 ...
## $ Codigo IATA : chr [1:216] "CEN" "CLQ" "CME" "CPE" ...
## $ Descripcion : chr [1:216] "Ciudad Obregon" "Colima" "Ciudad del Carmen" "Campeche" ...
## $ Estado : chr [1:216] "Sonora" "Colima" "Campeche" "Campeche" ...
## $ Pasajeros nacionales : num [1:216] 17149 8486 56079 13264 13153 ...
## $ Pasajeros internacionales: num [1:216] 721 124 3126 215 0 ...
## - attr(*, "spec")=
## .. cols(
## .. `Anio mes` = col_double(),
## .. `Codigo IATA` = col_character(),
## .. Descripcion = col_character(),
## .. Estado = col_character(),
## .. `Pasajeros nacionales` = col_double(),
## .. `Pasajeros internacionales` = col_double()
## .. )
## - attr(*, "problems")=<externalptr>
glimpse(pasajeros)
## Rows: 216
## Columns: 6
## $ `Anio mes` <dbl> 201501, 201501, 201501, 201501, 201501, 20…
## $ `Codigo IATA` <chr> "CEN", "CLQ", "CME", "CPE", "CTM", "CVM", …
## $ Descripcion <chr> "Ciudad Obregon", "Colima", "Ciudad del Ca…
## $ Estado <chr> "Sonora", "Colima", "Campeche", "Campeche"…
## $ `Pasajeros nacionales` <dbl> 17149, 8486, 56079, 13264, 13153, 4695, 13…
## $ `Pasajeros internacionales` <dbl> 721, 124, 3126, 215, 0, 139, 386, 2684, 61…
summary(pasajeros)
## Anio mes Codigo IATA Descripcion Estado
## Min. :201501 Length:216 Length:216 Length:216
## 1st Qu.:201504 Class :character Class :character Class :character
## Median :201506 Mode :character Mode :character Mode :character
## Mean :201506
## 3rd Qu.:201509
## Max. :201512
## Pasajeros nacionales Pasajeros internacionales
## Min. : 63 Min. : 0.0
## 1st Qu.: 1198 1st Qu.: 7.0
## Median : 7947 Median : 107.0
## Mean :10608 Mean : 818.2
## 3rd Qu.:14884 3rd Qu.: 584.0
## Max. :56418 Max. :7042.0
Interpretación:
La estructura permite confirmar que las variables numéricas (por
ejemplo, pasajeros nacionales e internacionales) están correctamente
codificadas como numéricas, mientras que las variables como “Estado”,
“Aeropuerto” y “Mes” se presentan como categóricas.
Se obtienen los principales estadísticos descriptivos (mínimo, máximo, media y mediana) de las variables numéricas.
pasajeros %>%
select(where(is.numeric)) %>%
summary()
## Anio mes Pasajeros nacionales Pasajeros internacionales
## Min. :201501 Min. : 63 Min. : 0.0
## 1st Qu.:201504 1st Qu.: 1198 1st Qu.: 7.0
## Median :201506 Median : 7947 Median : 107.0
## Mean :201506 Mean :10608 Mean : 818.2
## 3rd Qu.:201509 3rd Qu.:14884 3rd Qu.: 584.0
## Max. :201512 Max. :56418 Max. :7042.0
Interpretación:
Los resultados muestran la distribución general de los pasajeros. Las
medias y medianas permiten identificar si existen valores atípicos (por
ejemplo, aeropuertos con tráfico significativamente mayor).
Se generan tablas de frecuencia para las variables categóricas.
table(pasajeros$Estado)
##
## Baja California Sur Campeche Colima
## 12 24 12
## Michoacan Nayarit Oaxaca
## 12 12 12
## Puebla Quintana Roo San Luis Potosi
## 24 12 12
## Sonora Tamaulipas Veracruz
## 36 36 12
table(pasajeros$Aeropuerto)
## Warning: Unknown or uninitialised column: `Aeropuerto`.
## < table of extent 0 >
table(pasajeros$`Anio mes`)
##
## 201501 201502 201503 201504 201505 201506 201507 201508 201509 201510 201511
## 18 18 18 18 18 18 18 18 18 18 18
## 201512
## 18
Interpretación:
Las frecuencias muestran la representación de cada estado y aeropuerto
en el conjunto de datos. Algunos estados concentran más aeropuertos o
reportes, lo cual sugiere una mayor infraestructura aérea.
Se calculan totales y promedios que permitan observar comportamientos relevantes.
# Total de pasajeros por estado
total_estado <- pasajeros %>%
group_by(Estado) %>%
summarise(Total_pasajeros = sum(`Pasajeros nacionales` + `Pasajeros internacionales`, na.rm = TRUE)) %>%
arrange(desc(Total_pasajeros))
total_estado
## # A tibble: 12 × 2
## Estado Total_pasajeros
## <chr> <dbl>
## 1 Campeche 804905
## 2 Puebla 330623
## 3 Sonora 265364
## 4 Tamaulipas 245788
## 5 Oaxaca 185330
## 6 Quintana Roo 179377
## 7 Colima 113583
## 8 Nayarit 113043
## 9 Michoacan 110067
## 10 Veracruz 60575
## 11 Baja California Sur 57907
## 12 San Luis Potosi 1598
# Promedio mensual de pasajeros nacionales
promedio_mes <- pasajeros %>%
group_by(`Anio mes`) %>%
summarise(Promedio_Nacionales = mean(`Pasajeros nacionales`, na.rm = TRUE))
promedio_mes
## # A tibble: 12 × 2
## `Anio mes` Promedio_Nacionales
## <dbl> <dbl>
## 1 201501 10355.
## 2 201502 8970.
## 3 201503 10647.
## 4 201504 10251.
## 5 201505 10268.
## 6 201506 10243.
## 7 201507 11606.
## 8 201508 10885.
## 9 201509 9636.
## 10 201510 10681.
## 11 201511 11207.
## 12 201512 12552.
Interpretación:
Se observa que los estados con aeropuertos metropolitanos (como Ciudad
de México, Jalisco o Nuevo León) concentran el mayor flujo de pasajeros.
En contraste, estados con menor tráfico muestran variaciones mensuales
más amplias, posiblemente asociadas a temporadas turísticas o eventos
locales.
ggplot(pasajeros, aes(x = `Pasajeros nacionales`)) +
geom_histogram(fill = "steelblue", color = "white", bins = 30) +
labs(title = "Distribución de pasajeros nacionales",
x = "Número de pasajeros nacionales",
y = "Frecuencia")
Interpretación:
El histograma revela una concentración de aeropuertos con tráfico bajo o
medio, mientras que unos pocos concentran la mayoría de los pasajeros
nacionales, reflejando la centralización del transporte aéreo.
pasajeros %>%
group_by(Estado) %>%
summarise(Total = sum(`Pasajeros nacionales` + `Pasajeros internacionales`, na.rm = TRUE)) %>%
ggplot(aes(x = reorder(Estado, -Total), y = Total)) +
geom_bar(stat = "identity", fill = "darkgreen") +
coord_flip() +
labs(title = "Total de pasajeros por estado",
x = "Estado",
y = "Total de pasajeros")
Interpretación:
Se aprecia que los estados con mayor densidad poblacional presentan los
valores más altos. Este comportamiento coincide con la concentración
económica y demográfica del país.
ggplot(pasajeros, aes(x = factor(`Anio mes`), y = `Pasajeros nacionales`)) +
geom_boxplot(fill = "orange") +
labs(title = "Dispersión de pasajeros nacionales por mes",
x = "Mes",
y = "Número de pasajeros")
Interpretación:
El boxplot permite identificar meses con variaciones altas en el número
de pasajeros, lo que puede estar relacionado con periodos vacacionales
(julio-diciembre).
pasajeros %>%
group_by(Estado) %>%
summarise(Promedio_Nacionales = mean(`Pasajeros nacionales`, na.rm = TRUE)) %>%
ggplot(aes(x = reorder(Estado, -Promedio_Nacionales), y = Promedio_Nacionales)) +
geom_col(fill = "purple") +
coord_flip() +
labs(title = "Promedio de pasajeros nacionales por estado",
x = "Estado",
y = "Promedio de pasajeros")
Interpretación:
Los estados turísticos y de mayor actividad económica presentan
promedios más altos de pasajeros nacionales, lo que refuerza su papel
como polos de conectividad aérea.
ggplot(pasajeros, aes(x = `Pasajeros nacionales`, y = `Pasajeros internacionales`)) +
geom_point(alpha = 0.6, color = "darkred") +
geom_smooth(method = "lm", se = FALSE, color = "black") +
labs(title = "Relación entre pasajeros nacionales e internacionales",
x = "Pasajeros nacionales",
y = "Pasajeros internacionales")
## `geom_smooth()` using formula = 'y ~ x'
Interpretación:
La relación positiva indica que los aeropuertos con mayor tráfico
nacional también tienden a recibir más pasajeros internacionales,
evidenciando una red integrada de movilidad.
El análisis descriptivo permite observar que el transporte aéreo en
México durante 2015 se concentró principalmente en aeropuertos ubicados
en zonas metropolitanas. Los patrones mensuales reflejan tanto la
estacionalidad turística como la centralización económica del
país.
Los resultados sugieren la necesidad de promover una distribución más
equitativa del tráfico aéreo y la mejora de la conectividad
regional.
Fin del reporte.