==========================================================================================================================================

Equipo 1 Noreste (Coahuila, Nuevo León, Tamaulipas, Chihuahua, Durango, Zacatecas y San Luis Potosí)

==========================================================================================================================================

# Librerías necesarias
library(readxl)
library(dplyr)
## 
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union
library(tseries)
## Registered S3 method overwritten by 'quantmod':
##   method            from
##   as.zoo.data.frame zoo
library(magrittr)
library(ggplot2)
database_norte <- read_excel("noreste.xlsx")
## New names:
## • `` -> `...1`
database_sur <- read_excel("sur.xlsx")
## New names:
## • `` -> `...1`

==========================================================================================================================================

1) Comparación del ingreso corriente entre estados del Noreste

==========================================================================================================================================

# -------------------------------------------------------------------------------------------------------------------------------------------
# Estadísticas descriptivas por Estado
# -------------------------------------------------------------------------------------------------------------------------------------------

resumen_noreste <- database_norte %>%
  group_by(Estado) %>%
  summarise(
    # Medidas de Tendencia Central
    Promedio = mean(ing_cor, na.rm = TRUE),
    Mediana = median(ing_cor, na.rm = TRUE), # Igual que Q2
    
    # Mínimo y Máximo
    Mínimo = min(ing_cor, na.rm = TRUE),
    Máximo = max(ing_cor, na.rm = TRUE),
    
    # Medidas de Dispersión
    Rango = max(ing_cor, na.rm = TRUE) - min(ing_cor, na.rm = TRUE),
    Varianza = var(ing_cor, na.rm = TRUE),  # Muestral
    Desviación_Estándar = sd(ing_cor, na.rm = TRUE),
    Coeficiente_de_Variación = (sd(ing_cor, na.rm = TRUE) / mean(ing_cor, na.rm = TRUE)) * 100,
    
    # Medidas de Posición
    Q1 = quantile(ing_cor, 0.25, na.rm = TRUE), 
    Q2 = quantile(ing_cor, 0.5, na.rm = TRUE), # Igual que Mediana
    Q3 = quantile(ing_cor, 0.75, na.rm = TRUE),
    P90 = quantile(ing_cor, 0.90, na.rm = TRUE), # Top 10%
    
    Observaciones = n()
  ) %>%
  mutate(across(where(is.numeric), ~ round(.x, 2))) %>%
  arrange(desc(Promedio))

# Mostrar tabla
resumen_noreste
## # A tibble: 7 × 14
##   Estado      Promedio Mediana Mínimo Máximo  Rango Varianza Desviación_Estándar
##   <chr>          <dbl>   <dbl>  <dbl>  <dbl>  <dbl>    <dbl>               <dbl>
## 1 Chihuahua     75479.  51148.  3052. 6.12e6 6.12e6  3.77e10             194249.
## 2 Nuevo León    70799.  53641.  4865. 9.51e5 9.46e5  4.57e 9              67630.
## 3 Coahuila d…   67131.  52657.  4512. 5.68e5 5.63e5  2.88e 9              53690.
## 4 Tamaulipas    58832.  48141.  5413. 3.09e5 3.04e5  1.64e 9              40508.
## 5 San Luis P…   54509.  40311.  3600  4.09e5 4.06e5  2.18e 9              46717.
## 6 Durango       52713.  42811.  2222. 3.67e5 3.65e5  1.76e 9              41951.
## 7 Zacatecas     46970.  37069.  2903. 3.42e5 3.39e5  1.41e 9              37603.
## # ℹ 6 more variables: Coeficiente_de_Variación <dbl>, Q1 <dbl>, Q2 <dbl>,
## #   Q3 <dbl>, P90 <dbl>, Observaciones <dbl>
# -------------------------------------------------------------------------------------------------------------------------------------------
# El método ANOVA (Análisis de la Varianza) 
# Es un procedimiento estadístico utilizado para comparar las medias de tres o más grupos. 
# Evalúa si las diferencias observadas entre las medias de los grupos son significativas.
# -------------------------------------------------------------------------------------------------------------------------------------------

modelo_anova <- aov(ing_cor ~ Estado, data = database_norte)
summary(modelo_anova)
##               Df    Sum Sq   Mean Sq F value   Pr(>F)    
## Estado         6 6.272e+11 1.045e+11    9.77 9.62e-11 ***
## Residuals   6563 7.023e+13 1.070e+10                     
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
# Si ANOVA da p < 0.05, entonces: Las diferencias en el ingreso corriente entre los estados del Noreste son estadísticamente significativas.

# El análisis de varianza (ANOVA) realizado para comparar el ingreso corriente entre los estados del Noreste arroja un valor p = 9.62e-11, el cual es mucho menor al umbral de significancia del 5% (p < 0.05).

# Esto nos permite rechazar la hipótesis nula que asumía igualdad de medias entre los estados. Por lo tanto, sí existen diferencias estadísticamente significativas en el ingreso corriente entre los estados del Noreste.

# Insight: Algunos estados como Chihuahua y Nuevo León presentan ingresos considerablemente mayores que otros como Durango y Zacatecas, lo que refleja desigualdades económicas dentro de la misma región.
# -------------------------------------------------------------------------------------------------------------------------------------------
# Gráfica de boxplots por estado
# -------------------------------------------------------------------------------------------------------------------------------------------

# Distribución del ingreso por Estado
ggplot(database_norte, aes(x = Estado, y = ing_cor)) +
  scale_y_log10() + # Usé escala logarítmica para mejorar la visualización
  geom_boxplot(fill = "#FF82AB") +
  labs(title = "Distribución del ingreso por Estado (escala logarítmica)", y = "Ingreso corriente") +
  theme_minimal() +
  theme(axis.text.x = element_text(angle = 45, hjust = 1))

==========================================================================================================================================

2) Comparación del ingreso corriente entre la zonas rurales y urbanas del Noreste

==========================================================================================================================================

# -------------------------------------------------------------------------------------------------------------------------------------------
# Estadísticas descriptivas por Estado
# -------------------------------------------------------------------------------------------------------------------------------------------

resumen_noreste <- database_norte %>%
  group_by(localidad) %>%
  summarise(
    # Medidas de Tendencia Central
    Promedio = mean(ing_cor, na.rm = TRUE),
    Mediana = median(ing_cor, na.rm = TRUE), # Igual que Q2
    
    # Mínimo y Máximo
    Mínimo = min(ing_cor, na.rm = TRUE),
    Máximo = max(ing_cor, na.rm = TRUE),
    
    # Medidas de Dispersión
    Rango = max(ing_cor, na.rm = TRUE) - min(ing_cor, na.rm = TRUE),
    Varianza = var(ing_cor, na.rm = TRUE),  # Muestral
    Desviación_Estándar = sd(ing_cor, na.rm = TRUE),
    Coeficiente_de_Variación = (sd(ing_cor, na.rm = TRUE) / mean(ing_cor, na.rm = TRUE)) * 100,
    
    # Medidas de Posición
    Q1 = quantile(ing_cor, 0.25, na.rm = TRUE), 
    Q2 = quantile(ing_cor, 0.5, na.rm = TRUE), # Igual que Mediana
    Q3 = quantile(ing_cor, 0.75, na.rm = TRUE),
    P90 = quantile(ing_cor, 0.90, na.rm = TRUE), # Top 10%
    
    Observaciones = n()
  ) %>%
  mutate(across(where(is.numeric), ~ round(.x, 2))) %>%
  arrange(desc(Promedio))

# Mostrar tabla
resumen_noreste
## # A tibble: 2 × 14
##   localidad Promedio Mediana Mínimo   Máximo  Rango Varianza Desviación_Estándar
##   <chr>        <dbl>   <dbl>  <dbl>    <dbl>  <dbl>    <dbl>               <dbl>
## 1 U           72541.  56028.  2903. 6124151. 6.12e6  1.21e10             109821.
## 2 R           47535.  33961   2222. 3283738. 3.28e6  8.08e 9              89877.
## # ℹ 6 more variables: Coeficiente_de_Variación <dbl>, Q1 <dbl>, Q2 <dbl>,
## #   Q3 <dbl>, P90 <dbl>, Observaciones <dbl>
# -------------------------------------------------------------------------------------------------------------------------------------------
# Comparación de ingreso entre zonas rurales y urbanas
# -------------------------------------------------------------------------------------------------------------------------------------------

ggplot(database_norte, aes(x = localidad, y = ing_cor, fill = localidad)) +
  geom_boxplot() +
  scale_y_log10() + # Usé escala logarítmica para mejorar la visualización
  labs(
    title = "Ingreso corriente por zona (escala logarítmica)",
    x = "Localidad",
    y = "Ingreso corriente (log10)"
  ) +
  scale_fill_manual(values = c("U" = "skyblue", "R" = "slategray")) +
  theme_minimal()

# -------------------------------------------------------------------------------------------------------------------------------------------
# Prueba t (para ver si las medias son significativamente distintas)
# -------------------------------------------------------------------------------------------------------------------------------------------

t.test(ing_cor ~ localidad, data = database_norte)
## 
##  Welch Two Sample t-test
## 
## data:  ing_cor by localidad
## t = -9.9573, df = 5651.1, p-value < 2.2e-16
## alternative hypothesis: true difference in means between group R and group U is not equal to 0
## 95 percent confidence interval:
##  -29928.59 -20082.46
## sample estimates:
## mean in group R mean in group U 
##        47535.09        72540.62
# La prueba t de dos muestras independientes mostró un valor p < 2.2e-16, lo cual es extremadamente menor al umbral de significancia de 0.05. Esto permite rechazar la hipótesis nula de igualdad de medias, y concluir que existe una diferencia estadísticamente significativa en el ingreso corriente entre las zonas rurales y urbanas del Noreste.

# Además, el intervalo de confianza del 95% para la diferencia de medias se encuentra entre –29,928.59 y –20,082.46, lo cual confirma que, en promedio, los hogares en zonas urbanas perciben entre 20 y 30 mil pesos más al año que los hogares rurales.

# Este hallazgo valida la presencia de una brecha estructural de ingreso por condición territorial, que puede estar asociada a diferencias en acceso a servicios, oportunidades laborales, infraestructura y conectividad.

==========================================================================================================================================

3) Comparación del gasto entre el Noreste y el Sur

==========================================================================================================================================

database_norte$region <- "Noreste"
database_sur$region <- "Sur"

# Unir las bases
base_completa <- rbind(database_norte, database_sur)
# -------------------------------------------------------------------------------------------------------------------------------------------
# Calcular estadísticas descriptivas del gasto (gasto_mon) por región
# -------------------------------------------------------------------------------------------------------------------------------------------

base_completa %>%
  group_by(region) %>%
  summarise(
    Promedio = mean(gasto_mon, na.rm = TRUE),
    Mediana = median(gasto_mon, na.rm = TRUE),
    Desviación= sd(gasto_mon, na.rm = TRUE),
    Observaciones = n()
  )
## # A tibble: 2 × 5
##   region  Promedio Mediana Desviación Observaciones
##   <chr>      <dbl>   <dbl>      <dbl>         <int>
## 1 Noreste   36785.  28893.     32421.          6570
## 2 Sur       27178.  21951.     22760.          2546
# -------------------------------------------------------------------------------------------------------------------------------------------
# Graficar con boxplot
# -------------------------------------------------------------------------------------------------------------------------------------------

# Filtrar los datos con gasto mayor a cero (es decir, los que no son correctos)
base_filtrada <- base_completa %>%
  filter(gasto_mon > 0)

# Gráfica
ggplot(base_filtrada, aes(x = region, y = gasto_mon, fill = region)) +
  geom_boxplot() +
  scale_y_log10() +
  labs(title = "Comparación del gasto entre Noreste y Sur (escala log)", y = "Gasto mensual") +
  theme_minimal()

# -------------------------------------------------------------------------------------------------------------------------------------------
# Prueba t (Para saber si la diferencia en gasto promedio es estadísticamente significativa)
# -------------------------------------------------------------------------------------------------------------------------------------------

t.test(gasto_mon ~ region, data = base_completa)
## 
##  Welch Two Sample t-test
## 
## data:  gasto_mon by region
## t = 15.935, df = 6551.7, p-value < 2.2e-16
## alternative hypothesis: true difference in means between group Noreste and group Sur is not equal to 0
## 95 percent confidence interval:
##   8425.117 10788.759
## sample estimates:
## mean in group Noreste     mean in group Sur 
##              36784.85              27177.91
# La prueba t de dos muestras independientes indica un valor p < 2.2e-16, lo cual es extremadamente menor al umbral de significancia de 0.05. Esto nos permite afirmar con alta confianza que el gasto mensual promedio de las familias en el Noreste es significativamente diferente al del Sur.

# El gasto promedio en el Noreste fue de $36,784.85, mientras que en el Sur fue de $27,177.91, con una diferencia significativa estimada entre $8,425 y $10,789 pesos, según el intervalo de confianza del 95%.

# Estos resultados reflejan una desigualdad regional en el gasto familiar (probablemente vinculada a diferencias en ingreso, costo de vida, desarrollo económico e infraestructura entre ambas zonas).