1. Carga de datos

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>

2. Estructura del dataframe

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.


3. Resúmenes numéricos

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).


4. Tablas de frecuencias

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.


5. Agregaciones interesantes

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.


6. Gráficos descriptivos

6.1 Histograma de pasajeros nacionales o internacionales

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.


6.2 Gráfico de barras por estado o aeropuerto

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.


6.3 Boxplot de pasajeros por mes

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).


6.4 Gráfico entre variable numérica y categórica

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.


6.5 Gráfico entre dos variables numéricas

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.


7. Conclusiones

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.