Business Analytics

Intervalos de Confianza

Author

Wilson H. Guamán L.

Published

May 18, 2025

1 LIBRERIAS Y ACCESO A LA BASE DE DATOS

Los comandos suppressPackageStartupMessages(library(...)) permiten cargar paquetes sin mostrar mensajes en la consola, manteniéndola más limpia.

El paquete dplyr se usa para manipular datos de forma eficiente, mientras que ggplot2 permite crear gráficos personalizados. foreign y haven sirven para importar datos de otros programas como Stata o SPSS, siendo haven la opción más moderna y compatible con etiquetas.

msm se utiliza para modelar transiciones entre estados (por ejemplo, de salud) a lo largo del tiempo, y car ofrece funciones útiles para análisis de regresión, como pruebas de hipótesis y detección de multicolinealidad.

ver código
suppressWarnings(suppressPackageStartupMessages(library(dplyr)))   
suppressWarnings(suppressPackageStartupMessages(library(ggplot2)))  
suppressWarnings(suppressPackageStartupMessages(library(foreign))) 
suppressWarnings(suppressPackageStartupMessages(library(msm)))
suppressWarnings(suppressPackageStartupMessages(library(car)))
suppressWarnings(suppressPackageStartupMessages(library(haven)))
suppressWarnings(suppressPackageStartupMessages(library(knitr)))
suppressWarnings(suppressPackageStartupMessages(library(kableExtra)))

El comando list.files() muestra todos los archivos disponibles en una carpeta específica, mientras que read_dta() (del paquete haven) se usa para cargar un archivo de datos en formato Stata (.dta) desde esa ruta al entorno de R, guardándolo en el objeto enaho.

ver código
list.files("C:/Users/USUARIO 2020/Documents/Maestria_EDE_2/Mod_09_Busnicess_Analityc/BA_U1/Clase_02_11_04")
 [1] "~$CLASE 2.pptx"     "Base_11_04.dta"     "Clase 11 mayo.txt" 
 [4] "CLASE 2.pptx"       "IC_2.html"          "IC_2.qmd"          
 [7] "IC_2.rmarkdown"     "IC_2_files"         "Indicaciones.docx" 
[10] "Intervalos_C.html"  "Intervalos_C.qmd"   "Intervalos_C_files"
[13] "references.bib"    
ver código
enaho <- read_dta("C:/Users/USUARIO 2020/Documents/Maestria_EDE_2/Mod_09_Busnicess_Analityc/BA_U1/Clase_02_11_04/Base_11_04.dta")

El comando View(enaho) abre una vista interactiva del dataset completo en una pestaña tipo hoja de cálculo, mientras que head(enaho) muestra por consola las primeras seis filas del dataset para una vista rápida de su estructura.

ver código
View(enaho)
head(enaho)
# A tibble: 6 × 50
  area       empleo          region   edad t_hijos nac_vivo_murieron mortinato_2
  <dbl+lbl>  <dbl+lbl>       <dbl+l> <dbl>   <dbl> <dbl+lbl>         <dbl+lbl>  
1 1 [Urbano] 1 [Trabajó al … 1 [Sie…    19       1 0 [No]            0 [No]     
2 1 [Urbano] 0 [No trabajó]  1 [Sie…    23       1 0 [No]            0 [No]     
3 1 [Urbano] 1 [Trabajó al … 1 [Sie…    38       5 0 [No]            0 [No]     
4 1 [Urbano] 0 [No trabajó]  1 [Sie…    18       1 0 [No]            0 [No]     
5 1 [Urbano] 0 [No trabajó]  1 [Sie…    21       1 0 [No]            0 [No]     
6 1 [Urbano] 1 [Trabajó al … 1 [Sie…    22       1 0 [No]            0 [No]     
# ℹ 43 more variables: depresion_pp <dbl+lbl>, intensidad_dpp <dbl+lbl>,
#   etnia <dbl+lbl>, f2_s2_216_1 <dbl+lbl>, f2_s2_216_2 <dbl>,
#   f2_s2_218_1_a <dbl+lbl>, tiempo_dpp <dbl+lbl>, f2_s5_504a_1 <dbl+lbl>,
#   f2_s5_504b_1 <dbl+lbl>, f2_s5_504c_1 <dbl+lbl>, f2_s5_504d_1 <dbl+lbl>,
#   f2_s5_504e_1 <dbl+lbl>, f2_s5_504f_1 <dbl+lbl>, f2_s5_504g_1 <dbl+lbl>,
#   f2_s5_504h_1 <dbl+lbl>, f2_s5_504i_1 <dbl+lbl>, f2_s5_504j_1 <dbl+lbl>,
#   f2_s5_504k_1 <dbl+lbl>, est_civil <dbl+lbl>, q_usted <dbl+lbl>, …

2 INTERVALO DE CONFIANZA PARA MEDIAS

2.1 Cálculo de intervalo de confianza para la variable ingreso laboral (ingrl)

ver código
# Calculo de los elementos del intervalo de confianza
resumen_ic <- enaho %>%
  summarise(
    n = sum(!is.na(ingrl)),
    media = mean(ingrl, na.rm = TRUE),
    sd = sd(ingrl, na.rm = TRUE),
    error_estandar = sd / sqrt(n),
    t_critico = qt(0.975, df = n - 1),
    IC_inferior = media - t_critico * error_estandar,
    IC_superior = media + t_critico * error_estandar
  )

# Presentación de resultados
resumen_ic %>%
  kable(digits = 4, caption = "Tabla 1: Intervalo de confianza del 95% para la media de la variable 'ingrl'") %>%
  kable_styling(full_width = FALSE, position = "center", bootstrap_options = "condensed")
Tabla 1: Intervalo de confianza del 95% para la media de la variable 'ingrl'
n media sd error_estandar t_critico IC_inferior IC_superior
16451 162.6633 329.8832 2.572 1.9601 157.622 167.7046
ver código
# Calculo de los elementos del intervalo de confianza
resumen_ic <- enaho %>%
  summarise(
    n = sum(!is.na(ingrl)),
    media = mean(ingrl, na.rm = TRUE),
    sd = sd(ingrl, na.rm = TRUE),
    error_estandar = sd / sqrt(n),
    t_critico = qt(0.975, df = n - 1),
    IC_inf = media - t_critico * error_estandar,
    IC_sup = media + t_critico * error_estandar
  )

# Grafico del intervalo de confianza
ggplot(resumen_ic, aes(y = 1, x = media)) +
  geom_point(size = 4, color = "blue") +  # size sigue siendo válido para puntos
  geom_segment(
    aes(x = IC_inf, xend = IC_sup, y = 1, yend = 1), 
    color = "darkred", 
    linewidth = 1.2  # <- Cambiado de size a linewidth
  ) +
  geom_text(
    aes(x = media, label = paste0("Media = ", round(media, 2))), 
    vjust = -1.5, 
    size = 5  # size sigue siendo válido para texto
  ) +
  geom_text(
    aes(x = IC_inf, label = paste0("IC Inf = ", round(IC_inf, 2))), 
    vjust = 1.5, 
    size = 5,  # size para texto
    color = "darkred"
  ) +
  geom_text(
    aes(x = IC_sup, label = paste0("IC Sup = ", round(IC_sup, 2))), 
    vjust = 1.5, 
    size = 5,  # size para texto
    color = "darkred"
  ) +
  scale_x_continuous(limits = c(155, 170)) +  # Mejor que xlim() para ggplot2
  labs(
    title = "Gráfico 1:",
    subtitle = "Intervalo de Confianza al 95% para la Media ingreso laboral",
    x = "Ingreso laboral", 
    y = NULL
  ) +
  theme_minimal(base_size = 14) +
  theme(
    axis.text.y = element_blank(),
    panel.grid.major.y = element_blank(),
    plot.title = element_text(face = "bold", hjust = 0.5, color = "#2F4F4F"),
    plot.subtitle = element_text(hjust = 0.5, color = "gray50", size = 12),
    axis.title.x = element_text(margin = margin(t = 10))
  )

2.2 Interpretación:

En la Tabla 1 y Grafica 1 se presenta el intervalo de confianza del 95% para la media del ingreso laboral (ingrl).

La muestra está compuesta por 16.451 personas, representando una base sólida para realizar inferencias estadísticas sobre la población. El ingreso laboral promedio en la muestra es de aproximadamente 162,66 dólares. Esta cifra representa el valor central alrededor del cual se distribuyen los ingresos de los individuos observados.

La desviación estándar es de 329,88, señalando que existe una gran dispersión de los ingresos en la muestra. Es decir, los ingresos laborales varían considerablemente entre los individuos, reflejando probablemente diferencias estructurales en ocupación, nivel educativo, sector económico, entre otros factores. A pesar de esta alta variabilidad, el tamaño grande de la muestra permite estimar con precisión la media poblacional del ingreso.

El error estándar del ingreso promedio es de 2,572, y con un valor crítico de t igual a 1,9601, se ha construido un intervalo de confianza del 95%. Este intervalo va desde 157,622 hasta 167,7046 dólares. Esto significa que, con un nivel de confianza del 95%, se puede afirmar que la media verdadera del ingreso laboral en la población se encuentra dentro de ese rango. En otras palabras, si se repitiera el estudio muchas veces con muestras del mismo tamaño, en el 95% de los casos el intervalo calculado contendría la verdadera media poblacional del ingreso laboral.

Estos resultados sugieren que aunque los ingresos individuales son muy variables, el ingreso promedio se puede estimar con alta precisión debido al gran tamaño de la muestra.

3 INTERVALO DE CONFIANZA PARA PROPORCIONES

3.1 Cálculo de intervalo de confianza para la variable depresión post-parto (depresion_pp)

ver código
# 1. Calculo de los estadísticos
ic_p <- enaho %>%
  summarise(
    "Total (n)" = sum(!is.na(depresion_pp)),
    "Sí (n)" = sum(depresion_pp == 1, na.rm = TRUE),
    "No (n)" = sum(depresion_pp == 0, na.rm = TRUE),
    "Proporción (p̂)" = `Sí (n)` / `Total (n)`,
    "Error estándar" = sqrt(`Proporción (p̂)` * (1 - `Proporción (p̂)`) / `Total (n)`),
    "Z crítico" = qnorm(0.975),
    "IC inferior" = max(0, `Proporción (p̂)` - `Z crítico` * `Error estándar`),
    "IC superior" = min(1, `Proporción (p̂)` + `Z crítico` * `Error estándar`)
  )

# 2. Presentación de los resulatdos
ic_p %>%
  kable(
    digits = 4,
    align = c("l", rep("c", ncol(ic_p) - 1)),
    caption = "Tabla 2: Intervalo de confianza del 95% para ´depresión postparto'"
  ) %>%
  kable_styling(
    full_width = FALSE,
    position = "center",
    bootstrap_options = c("condensed", "hover", "striped"),
    font_size = 13
  ) %>%
  add_header_above(
    c("Conteos" = 3,  # Ajustado a 8 columnas (antes 9)
     "Estimación" = 2, 
     "Valor crítico" = 1,
     "IC 95%" = 2)
  ) %>%
  footnote(
    general = "",
    general_title = ""
  ) %>%
  row_spec(0, background = "#F4F4F4", bold = TRUE)
Tabla 2: Intervalo de confianza del 95% para ´depresión postparto'
Conteos
Estimación
Valor crítico
IC 95%
Total (n) Sí (n) No (n) Proporción (p̂) | Error estándar | Z crítico | IC inferior | IC superior
16451 3623 12828 0.2202 0.0032 1.96 0.2139 0.2266
ver código
library(scales) # Para formato de porcentaje

# 1. Calculo de los estadísticos
resultados <- enaho %>%
  summarise(
    p_hat = mean(depresion_pp == 1, na.rm = TRUE),
    error = sqrt(p_hat * (1 - p_hat) / sum(!is.na(depresion_pp))),
    ic_inf = max(0.20, p_hat - qnorm(0.975) * error),  # Fuerza mínimo 20%
    ic_sup = min(0.25, p_hat + qnorm(0.975) * error)    # Fuerza máximo 25%
  )

# 2. Gráfico del intervalo de confianza
ggplot(resultados, aes(y = 1, x = p_hat)) +
  geom_point(size = 5, color = "#E15759") +
  geom_errorbarh(
    aes(xmin = ic_inf, xmax = ic_sup),
    height = 0.05,
    color = "#4E79A7",
    linewidth = 1.5
  ) +
  # Etiquetas
  geom_label(
    aes(x = p_hat, label = paste0(percent(p_hat, accuracy = 0.1))),
    vjust = -1.5,
    size = 5,
    fill = "white",
    color = "#D14D4D",
    label.padding = unit(0.4, "lines")
  ) +
  geom_label(
    aes(x = ic_inf, label = paste0(percent(ic_inf, accuracy = 0.1))),
    vjust = 1.8,
    size = 4.5,
    fill = "#F0F0F0",
    color = "#3A5F8D"
  ) +
  geom_label(
    aes(x = ic_sup, label = paste0(percent(ic_sup, accuracy = 0.1))),
    vjust = 1.8,
    size = 4.5,
    fill = "#F0F0F0",
    color = "#3A5F8D"
  ) +
  # Ajustes del eje X
  scale_x_continuous(
    limits = c(0.21, 0.24),  # Rango fijo 20%-25%
    labels = percent_format(accuracy = 0.1),  # Formato 20.0% a 25.0%
    breaks = seq(0.20, 0.25, by = 0.01)  # Marcadores cada 1%
  ) +
  labs(
    title = "Gráfico 2:",
    subtitle = "Intervalo de confianza al 95% para la Proporción Depresión Postparto",
    x = "% de mujeres con depresión post-parto",
    y = NULL
  ) +
  theme_minimal(base_size = 14) +
  theme(
    axis.text.y = element_blank(),
    panel.grid.major.y = element_blank(),
    plot.title = element_text(face = "bold", hjust = 0.5, color = "#2F4F4F"),
    plot.subtitle = element_text(hjust = 0.5, color = "gray50", size = 12),
    axis.title.x = element_text(margin = margin(t = 10))
  )

3.2 Interpretación:

En la Tabla 2 y Grafica 2 se representa el intervalo de confianza para la variable depresión post-parto.

La muestra incluye a 16.451 mujeres, de las cuales 3.623 (aproximadamente el 22%) manifestaron síntomas de depresión posparto, mientras que 12.828 no los presentaron. La proporción muestral (p̂) de mujeres con depresión posparto es 0.2202, lo que equivale al 22,02%. Esta proporción representa la estimación puntual de la prevalencia de depresión posparto en la población estudiada.

El error estándar asociado a esta estimación es 0.0032, señalando que existe una variación relativamente pequeña en la proporción estimada si se tomaran múltiples muestras del mismo tamaño. Este pequeño error estándar se debe, en parte, al gran tamaño de la muestra, lo cual da mayor precisión a la estimación de la proporción poblacional.

Usando un valor crítico de Z = 1.96, correspondiente al nivel de confianza del 95%, se ha construido un intervalo de confianza para la proporción verdadera de mujeres que presentan depresión posparto en la población. El intervalo de confianza va desde 0.2139 hasta 0.2266, es decir, entre 21,39% y 22,66%. Esto significa que, con un nivel de confianza del 95%, se puede afirmar que la proporción real de mujeres que experimentan depresión posparto se encuentra dentro de ese rango.

En términos prácticos, este resultado indica que la depresión posparto es un fenómeno relativamente común, afectando a poco más de una de cada cinco mujeres en esta muestra.

4 PRUEBA DE HIPÓTESIS PARA MEDIAS

4.1 Prueba Bilateral para la variable ingreso laboral (ingrl)

4.1.1 Plantamiento de Hipótesis:

                        H_o: μ_ingrl = $ 450
                        H_1: μ_ingrl ≠ $ 450

4.1.2 Contraste de Hipótesis:

ver código
# 1. Calculo de estadísticos 
resultados <- enaho %>%
  summarise(
    n = sum(!is.na(ingrl)),
    media = mean(ingrl, na.rm = TRUE),
    sd = sd(ingrl, na.rm = TRUE),
    error_std = sd / sqrt(n),
    mu0 = 450,  # Valor hipotético
    t_estadistico = (media - mu0) / error_std,
    gl = n - 1,  # Grados de libertad
    valor_p = 2 * pt(-abs(t_estadistico), df = gl)  # Prueba bilateral
  )

# 2. Presentación de resultados
tabla_resultados <- data.frame(
  Concepto = c(
    "Hipótesis nula (H₀)",
    "Hipótesis alternativa (Hₐ)",
    "Tamaño muestral (n)",
    "Media muestral (ȳ)",
    "Desviación estándar (s)",
    "Valor hipotético (μ₀)",
    "Error estándar de la media",
    "Estadístico t",
    "Grados de libertad",
    "Valor p (bilateral)",
    "Nivel de significancia (α)",
    "Conclusión"
  ),
  Valor = c(
    "μ = $450",
    "μ ≠ $450",
    format(resultados$n, big.mark = ","),
    sprintf("$%.2f", resultados$media),
    sprintf("$%.2f", resultados$sd),
    "$450.00",
    sprintf("$%.2f", resultados$error_std),
    sprintf("%.4f", resultados$t_estadistico),
    resultados$gl,
    ifelse(resultados$valor_p < 0.0001, 
           "< 0.0001", 
           sprintf("%.6f", resultados$valor_p)),
    "0.05",
    ifelse(resultados$valor_p < 0.05,
           "Rechazar H₀ (Media ≠ $450)",
           "No rechazar H₀ (Media = $450)")
  )
)

# 3. Formato de la tabla de resultados
tabla_resultados %>%
  kable(
    caption = "Tabla 3: Prueba t para la Media del Ingreso (ingrl)",
    align = c("l", "r"),
    col.names = c("Concepto", "Valor/Resultado")
  ) %>%
  kable_styling(
    bootstrap_options = c("striped", "hover", "condensed"),
    full_width = FALSE,
    position = "center",
    font_size = 14
  ) %>%
  row_spec(0, background = "#2c3e50", color = "white") %>%
  row_spec(nrow(tabla_resultados),  # Última fila (Conclusión)
           background = ifelse(resultados$valor_p < 0.05, "#e74c3c", "#2ecc71"),
           color = "black",
           bold = TRUE) %>%
  column_spec(2, background = "#ecf0f1") %>%
  footnote(
    general = "Prueba t de Student bilateral para una muestra. Supuesto: Normalidad o n > 30.",
    general_title = "Nota:",
    footnote_as_chunk = TRUE
  )
Tabla 3: Prueba t para la Media del Ingreso (ingrl)
Concepto Valor/Resultado
Hipótesis nula (H₀) μ = $450
Hipótesis alternativa (Hₐ) μ ≠ $450
Tamaño muestral (n) 16,451
Media muestral (ȳ) $162.66
Desviación estándar (s) $329.88
Valor hipotético (μ₀) $450.00
Error estándar de la media $2.57
Estadístico t -111.7190
Grados de libertad 16450
Valor p (bilateral) < 0.0001
Nivel de significancia (α) 0.05
Conclusión Rechazar H₀ (Media ≠ $450)
Nota: Prueba t de Student bilateral para una muestra. Supuesto: Normalidad o n > 30.
ver código
# 4. Gráfico del contraste de hipótesis
ggplot(data.frame(x = seq(-6, 6, length.out = 1000)), aes(x)) +
  stat_function(fun = dt, args = list(df = resultados$gl), linewidth = 1) +
  
  # Regiones críticas
  geom_area(stat = "function", fun = dt, args = list(df = resultados$gl),
            xlim = c(qt(0.975, resultados$gl), 4), fill = "#e74c3c", alpha = 0.3) +
  geom_area(stat = "function", fun = dt, args = list(df = resultados$gl),
            xlim = c(-4, qt(0.025, resultados$gl)), fill = "#e74c3c", alpha = 0.3) +
  
  # Líneas t estadístico en positivo y negativo
  geom_vline(xintercept = c(resultados$t_estadistico, -resultados$t_estadistico), 
             color = "#3498db", linewidth = 1.2) +
  
  # Líneas de corte
  geom_vline(xintercept = c(qt(0.025, resultados$gl), qt(0.975, resultados$gl)), 
             linetype = "dashed", color = "#2c3e50") +
  
  # Texto anotaciones
  annotate("text", x = 80, y = 0.2, 
           label = paste0("t = ", round(resultados$t_estadistico, 2)), 
           color = "#3498db", size = 5) +
  annotate("text", x = -80, y = 0.2, 
           label = paste0("t = ", round(-resultados$t_estadistico, 2)), 
           color = "#3498db", size = 5) +
  annotate("text", x = -50, y = 0.3, 
           label = paste0("Valor p = ", ifelse(resultados$valor_p < 0.0001, 
                                               "< 0.0001", 
                                               round(resultados$valor_p, 6))), 
           size = 5) +
  
  # Títulos
  labs(
    title = "Gráfica 3: Distribución t bajo Ho: μ = $450",
    subtitle = paste0("Grados de libertad = ", resultados$gl, 
                      " | Regiones críticas (α = 0.05) en rojo"),
    x = "Estadístico t",
    y = "Densidad"
  ) +
  theme_minimal(base_size = 14) +
  theme(
    plot.title = element_text(face = "bold", hjust = 0.5),
    plot.subtitle = element_text(hjust = 0.5, color = "gray40")
  )

4.1.3 Interpretación:

Se plantea como hipótesis nula (H₀) que la media poblacional del ingreso es igual a $450. La hipótesis alternativa (H₁) sostiene que la media del ingreso es diferente de $450.

Se ha utilizado una muestra de 16451 observaciones, con una media muestral de $162.66 y una desviación estándar de $329.88, indicando una gran dispersión en los ingresos. El valor hipotético propuesto para la media poblacional es $450, y el error estándar de la media es de $2.57, permitiendo medir con precisión lo que estima la media poblacional.

El estadístico t calculado es -111.7190, un valor extremadamente grande en valor absoluto, lo cual refleja que la diferencia entre la media muestral y la media hipotética es muy grande en relación con el error estándar. Esta magnitud sugiere que la media observada está muy lejos de lo que se esperaría si la verdadera media fuera $450.

El valor p (bilateral) asociado a este estadístico es menor a 0.0001, expresando una probabilidad prácticamente nula de observar una diferencia tan extrema si la hipótesis nula fuera cierta. Dado que este valor p es menor que el nivel de significancia α = 0.05, se procede a rechazar la hipótesis nula.

4.1.4 Conclusión:

Existen evidencias estadísticas suficientes para afirmar que la media del ingreso laboral en la población es significativamente distinta de $450. La media muestral de $162.66 es considerablemente menor al valor hipotético

4.2 Prueba Unilateral para la variable ingreso laboral (ingrl)

4.2.1 Plantamiento de Hipótesis:

                        H_o: μ_ingrl ≥ $ 450
                        H_1: μ_ingrl < $ 450

4.2.2 Contraste de Hipótesis:

ver código
# 1. Calculo de estadísticos
resultados <- enaho %>%
  summarise(
    n = sum(!is.na(ingrl)),
    media = mean(ingrl, na.rm = TRUE),
    sd = sd(ingrl, na.rm = TRUE),
    error_std = sd / sqrt(n),
    mu0 = 450,
    t_estadistico = (media - mu0) / error_std,
    gl = n - 1,
    valor_p = pt(t_estadistico, df = gl)  # Solo cola izquierda
  )

# 2. Crear tabla de resultados
tabla_resultados <- data.frame(
  "Concepto" = c(
    "Hipótesis nula (H₀)",
    "Hipótesis alternativa (Hₐ)",
    "Tamaño muestral (n)",
    "Media muestral (ȳ)",
    "Desviación estándar (s)",
    "Valor hipotético (μ₀)",
    "Error estándar",
    "Estadístico t",
    "Grados de libertad",
    "Valor p (unilateral)",
    "Nivel de significancia (α)",
    "Conclusión"
  ),
  "Valor" = c(
    "μ ≥ $450", 
    "μ < $450",
    format(resultados$n, big.mark = ","),
    sprintf("$%.2f", resultados$media),
    sprintf("$%.2f", resultados$sd),
    "$450.00",
    sprintf("%.2f", resultados$error_std),
    sprintf("%.4f", resultados$t_estadistico),
    resultados$gl,
    ifelse(resultados$valor_p < 0.0001, "< 0.0001", 
           sprintf("%.6f", resultados$valor_p)),
    "0.05",
    ifelse(resultados$valor_p < 0.05,
           "Rechazar H₀ (Evidencia de μ < $450)",
           "No rechazar H₀ (No hay evidencia de μ < $450)")
  )
)

# 3. Presentación de resultados
tabla_resultados %>%
  kable(
    caption = "Tabla 4: Prueba t Unilateral Inferior: Ingreso Promedio",
    align = c("l", "r"),
    col.names = c("Concepto", "Valor/Resultado")
  ) %>%
  kable_styling(
    bootstrap_options = c("striped", "hover", "condensed"),
    full_width = FALSE,
    position = "center",
    font_size = 14
  ) %>%
  row_spec(0, background = "#2c3e50", color = "white") %>%
  row_spec(nrow(tabla_resultados),
           background = ifelse(resultados$valor_p < 0.05, "#e74c3c", "#2ecc71"),
           color = "white",
           bold = TRUE) %>%
  footnote(
    general = "Prueba t para una muestra (cola izquierda). Supuesto: Normalidad o n > 30.",
    general_title = "Nota:"
  )
Tabla 4: Prueba t Unilateral Inferior: Ingreso Promedio
Concepto Valor/Resultado
Hipótesis nula (H₀) μ ≥ $450
Hipótesis alternativa (Hₐ) μ < $450
Tamaño muestral (n) 16,451
Media muestral (ȳ) $162.66
Desviación estándar (s) $329.88
Valor hipotético (μ₀) $450.00
Error estándar 2.57
Estadístico t -111.7190
Grados de libertad 16450
Valor p (unilateral) < 0.0001
Nivel de significancia (α) 0.05
Conclusión Rechazar H₀ (Evidencia de μ < $450)
Nota:
Prueba t para una muestra (cola izquierda). Supuesto: Normalidad o n > 30.
ver código
# 4. Gráfico del contraste de hipótesis
ggplot(data.frame(x = seq(-4, 4, 0.1)), aes(x)) +
  stat_function(fun = dt, args = list(df = resultados$gl)) +
  # Región crítica (cola izquierda)
  geom_area(stat = "function", fun = dt, args = list(df = resultados$gl),
            xlim = c(-4, qt(0.05, resultados$gl)), 
            fill = "#e74c3c", alpha = 0.5) +
  # Línea del estadístico t observado
  geom_vline(xintercept = resultados$t_estadistico, 
             color = "#3498db", linewidth = 1.5) +
  # Etiquetas
  annotate("text", x = -100, y = 0.2,
           label = paste0("t = ", round(resultados$t_estadistico, 2)),
           color = "#3498db", size = 5) +
  labs(
    title = "Gráfica 4: Distribución t bajo Ho: μ ≥ $450",
    subtitle = paste0("GL = ", resultados$gl, 
                     " | Región crítica (α = 0.05) en rojo"),
    x = "Estadístico t",
    y = "Densidad"
  ) +
  theme_minimal(base_size = 14) +
  theme(
    plot.title = element_text(face = "bold", hjust = 0.5),
    plot.subtitle = element_text(hjust = 0.5, color = "gray40")
  )

4.2.3 Interpretación:

La Tabla 4 y Grafica 4 presentan los resultados de una prueba t unilateral inferior para determinar si el ingreso promedio (μ) es menor o igual a $450, con una muestra de 16451 observaciones. La hipótesis nula (H₀) plantea que μ = $450, mientras que la hipótesis alternativa (H₁) sugiere que μ < $450. La media muestral obtenida es de $162.66, con una desviación estándar de $329.88, refeljando una alta variabilidad en los datos. El valor hipotético (μ₀) es $450, y el error estándar calculado es 2.57. El estadístico t es -111.7190, con 16450 grados de libertad, indicando una diferencia significativa entre la media muestral y el valor hipotético. Además, el valor p (< 0.0001) es mucho menor que el nivel de significancia (α = 0.05).

4.2.4 Conclusión:

Dado que el valor p es inferior a 0.05, se rechaza la hipótesis nula. Esto proporciona evidencia estadística suficiente para afirmar que el ingreso promedio es menor a $450. Por lo tanto, se acepta la hipótesis alternativa, concluyendo que el ingreso promedio de la población analizada es significativamente inferior al valor de referencia de $450, con un alto nivel de confianza estadística.

5 PRUEBAS DE HIPÓTESIS PARA PROPORCIONES

5.1 Prueba Bilateral para la variable depresión post-parto

5.1.1 Plantamiento de Hipótesis:

                        H_o: p_depresion-pp = 0.10
                        H_1: p_depresion-pp ≠ 0.10

5.1.2 Contraste de Hipótesis:

ver código
# 1. Cálculo de estadisticos
resultados_prueba <- prop.test(
  x = sum(enaho$depresion_pp == 1, na.rm = TRUE),
  n = sum(!is.na(enaho$depresion_pp)),
  p = 0.10,
  alternative = "two.sided",
  conf.level = 0.95,
  correct = FALSE
)

# 2. Crear tabla de resultados
tabla_resultados <- data.frame(
  "Concepto" = c(
    "Hipótesis nula (H₀)",
    "Hipótesis alternativa (Hₐ)",
    "Proporción observada (p̂)",
    "Proporción hipotética (p₀)",
    "Estadístico Z",
    "Valor p",
    "Nivel de significancia (α)",
    "Conclusión"
  ),
  "Valor" = c(
    "p = 0.10",
    "p ≠ 0.10",
    sprintf("%.4f", resultados_prueba$estimate),
    "0.10",
    sprintf("%.4f", sqrt(resultados_prueba$statistic)),
    ifelse(resultados_prueba$p.value < 0.0001, 
           "< 0.0001", 
           sprintf("%.4f", resultados_prueba$p.value)),
    "0.05",
    ifelse(resultados_prueba$p.value < 0.05,
           "Rechazar H₀ (Existe evidencia significativa)",
           "No rechazar H₀ (No hay evidencia significativa)")
  )
)

# 3. Presentación de resultados
tabla_resultados %>%
  kable(
    caption = "Tabla 5: Resultados de la prueba de hipótesis para proporción: Depresión postparto",
    align = c("l", "r"),
    col.names = c("Concepto", "Valor/Resultado")
  ) %>%
  kable_styling(
    bootstrap_options = c("striped", "hover", "condensed"),
    full_width = FALSE,
    position = "center",
    font_size = 14
  ) %>%
  row_spec(0, background = "#2c3e50", color = "white") %>%
  row_spec(which(tabla_resultados$Concepto == "Conclusión"), 
           background = ifelse(resultados_prueba$p.value < 0.05, 
                             "#e74c3c", "#2ecc71"),
           color = "black",
           bold = TRUE) %>%
  column_spec(2, background = "#ecf0f1") %>%
  footnote(
    general = "Prueba Z para una proporción con α = 0.05 (sin corrección de continuidad)",
    general_title = "Nota:",
    footnote_as_chunk = TRUE
  )
Tabla 5: Resultados de la prueba de hipótesis para proporción: Depresión postparto
Concepto Valor/Resultado
Hipótesis nula (H₀) p = 0.10
Hipótesis alternativa (Hₐ) p ≠ 0.10
Proporción observada (p̂) | 0.220
Proporción hipotética (p₀) 0.10
Estadístico Z 51.4028
Valor p < 0.0001
Nivel de significancia (α) 0.05
Conclusión Rechazar H₀ (Existe evidencia significativa)
Nota: Prueba Z para una proporción con α = 0.05 (sin corrección de continuidad)
ver código
# 3. Gráfico del contraste de hipótesis

# Datos de ejemplo (reemplaza con tus datos reales)
n <- sum(!is.na(enaho$depresion_pp))  # Tamaño muestral
x <- sum(enaho$depresion_pp == 1, na.rm = TRUE)  # Número de éxitos
p_hat <- x / n  # Proporción observada
p0 <- 0.10  # Proporción bajo H0

# Cálculo del estadístico Z
error_estandar <- sqrt(p0 * (1 - p0) / n)
Z <- (p_hat - p0) / error_estandar
valor_p <- 2 * (1 - pnorm(abs(Z)))  # Prueba bilateral

z_critico <- qnorm(0.975)  # Valor crítico para α = 0.05

ggplot(data.frame(x = c(-4, 4)), aes(x)) +
  stat_function(fun = dnorm, args = list(mean = 0, sd = 1), linewidth = 1) +
  geom_vline(xintercept = c(-z_critico, z_critico), 
             linetype = "dashed", color = "red") +
  geom_vline(xintercept = Z, color = "blue", linewidth = 1) +
  geom_vline(xintercept = -Z, color = "blue", linewidth = 1) +
  annotate("text", x = 40, y = 0.2, 
           label = paste0("Z = ", round(Z, 2)), 
           color = "blue", size = 5) +
  annotate("text", x = 15, y = 0.3, 
           label = paste0("Z crítico = ", round(z_critico,2)), 
           size = 5) +
  labs(
    title = "Gráfica 5: Prueba Z para Proporción: H0: p = 0.10",
    subtitle = paste0(" Región crítica (α = 0.05) en rojo | n = ", format(n, big.mark = ",")),
    x = "Estadístico Z",
    y = "Densidad"
  ) +
  theme_minimal(base_size = 14) +
  theme(
    plot.title = element_text(face = "bold", hjust = 0.5),
    plot.subtitle = element_text(hjust = 0.5, color = "gray40")
  )

5.1.3 Interpretación:

La Tabla 5 y Gráfica 5 muestran los resultados de una prueba de hipótesis para una proporción relacionada con la depresión posparto. La hipótesis nula (H₀) establece que la proporción (p) es igual a 0.10, mientras que la hipótesis alternativa (H₁) indica que p ≠ 0.10, sugiriendo una prueba bilateral. La proporción observada en la muestra es de 0.220, significativamente mayor que la proporción hipotética de 0.10. El estadístico Z calculado es 51.4028, indicando una diferencia notable entre la proporción observada y la esperada. El valor p (< 0.0001) es mucho menor que el nivel de significancia establecido (α = 0.05), sugiriendo que los resultados son estadísticamente significativos.

5.1.4 Conclusión:

Dado que el valor p es inferior a 0.05, se rechaza la hipótesis nula. Esto implica que existe evidencia significativa de que la proporción de depresión posparto no es 0.10, siendo la proporción observada de 0.220 notablemente mayor. Por lo tanto, se concluye que hay una diferencia estadísticamente significativa en la proporción real respecto a la hipotética, apoyando la hipótesis alternativa.

5.2 Prueba Unilateral para la variable depresión post-parto

5.2.1 Plantamiento de Hipótesis:

                        H_o: p_depresion-pp ≤ 0.10
                        H_1: p_depresion-pp > 0.10

5.2.2 Contraste de Hipótesis:

ver código
# 1. Calculo estadísticos
datos <- enaho$depresion_pp[!is.na(enaho$depresion_pp)]
n <- length(datos)
x <- sum(datos == 1)
p_hat <- x / n
p0 <- 0.10

# 2. Prueba Z unilateral superior
error_estandar <- sqrt(p0 * (1 - p0) / n)
Z <- (p_hat - p0) / error_estandar
valor_p <- 1 - pnorm(Z)  # Solo cola superior

# 3. Crear tabla de resultados
resultados <- data.frame(
  "Concepto" = c(
    "Hipótesis nula (H₀)",
    "Hipótesis alternativa (Hₐ)",
    "Tamaño muestral (n)",
    "Casos 'Sí' (x)",
    "Proporción observada (p̂)",
    "Proporción hipotética (p₀)",
    "Estadístico Z",
    "Valor p (unilateral)",
    "Nivel de significancia (α)",
    "Conclusión"
  ),
  "Valor" = c(
    "p ≤ 0.10",
    "p > 0.10",
    format(n, big.mark = ","),
    format(x, big.mark = ","),
    sprintf("%.4f", p_hat),
    "0.10",
    sprintf("%.4f", Z),
    ifelse(valor_p < 0.0001, "< 0.0001", sprintf("%.6f", valor_p)),
    "0.05",
    ifelse(valor_p < 0.05, 
           "Rechazar H₀ (p > 0.10)", 
           "No rechazar H₀ (p ≤ 0.10)")
  )
)

# 4. Presentación de resultados
resultados %>%
  kable(
    caption = "Tabla 6: Prueba de Hipótesis Unilateral Superior: Depresión Postparto",
    align = c("l", "r"),
    col.names = c("Concepto", "Valor/Resultado")
  ) %>%
  kable_styling(
    bootstrap_options = c("striped", "hover", "condensed"),
    full_width = FALSE,
    position = "center",
    font_size = 14
  ) %>%
  row_spec(0, background = "#2c3e50", color = "white") %>%
  row_spec(which(resultados$Concepto == "Conclusión"), 
           background = ifelse(valor_p < 0.05, "#e74c3c", "#2ecc71"),
           color = "black",
           bold = TRUE) %>%
  column_spec(2, background = "#ecf0f1") %>%
  footnote(
    general = "Prueba Z para proporción (aproximación normal) con α = 0.05",
    general_title = "Nota metodológica:",
    footnote_as_chunk = TRUE
  )
Tabla 6: Prueba de Hipótesis Unilateral Superior: Depresión Postparto
Concepto Valor/Resultado
Hipótesis nula (H₀) p ≤ 0.10
Hipótesis alternativa (Hₐ) p > 0.10
Tamaño muestral (n) 16,451
Casos 'Sí' (x) 3,623
Proporción observada (p̂) | 0.220
Proporción hipotética (p₀) 0.10
Estadístico Z 51.4028
Valor p (unilateral) < 0.0001
Nivel de significancia (α) 0.05
Conclusión Rechazar H₀ (p > 0.10)
Nota metodológica: Prueba Z para proporción (aproximación normal) con α = 0.05
ver código
# 5. Gráfico de contraste de hipotesis 
ggplot(data.frame(x = c(-3, 5)), aes(x)) +
  stat_function(fun = dnorm, args = list(mean = 0, sd = 1), linewidth = 1) +
  geom_area(stat = "function", fun = dnorm, args = list(mean = 0, sd = 1),
            xlim = c(qnorm(0.95), 5), fill = "#e74c3c", alpha = 0.3) +
  geom_vline(xintercept = Z, color = "#3498db", linewidth = 1.2) +
  geom_vline(xintercept = qnorm(0.95), linetype = "dashed", color = "#2c3e50") +
  annotate("text", x = 46, y = 0.2, 
           label = paste0("Z = ", round(Z, 2)), color = "#3498db", size = 5) +
  annotate("text", x = 10, y = 0.3, 
           label = "Z crítico = 1.645", color = "#2c3e50", size = 5) +
  labs(
    title = "Gráfica 6: Prueba Z para Proporción: H0: p ≤ 0.10",
    subtitle = paste0("Región crítica (α = 0.05) en roj | Valor p = ", 
                     ifelse(valor_p < 0.0001, "< 0.0001", round(valor_p, 6))),
    x = "Estadístico Z",
    y = "Densidad"
  ) +
  theme_minimal(base_size = 14) +
  theme(
    plot.title = element_text(face = "bold", hjust = 0.5),
    plot.subtitle = element_text(hjust = 0.5, color = "gray40")
  )

5.2.3 Interpretación:

La Tabla 6 y Gráfica 6 presentan los resultados de una prueba de hipótesis unilateral superior sobre la proporción de depresión posparto. La hipótesis nula (H₀) establece que la proporción (p) es menor o igual a 0.10, mientras que la hipótesis alternativa (H₁) plantea que p > 0.10. El tamaño de la muestra es de 16451, con 3623 casos observados, lo que resulta en una proporción observada (p̂) de 0.220, mayor que la proporción hipotética (p₀) de 0.10. El estadístico Z calculado es 51.4028, reflejando una diferencia significativa entre la proporción observada y la esperada. El valor p (< 0.0001) es mucho menor que el nivel de significancia (α = 0.05), indicando un resultado estadísticamente significativo.

5.2.4 Conclusión:

Dado que el valor p es inferior a 0.05, se rechaza la hipótesis nula. Esto proporciona evidencia significativa de que la proporción de depresión posparto es mayor a 0.10, con una proporción observada de 0.220. Por lo tanto, se acepta la hipótesis alternativa, concluyendo que la proporción de depresión posparto en la población estudiada supera el 10%, con un alto nivel de confianza estadística.

6 REVISIÓN DE LA LITERATURA

6.1 Antecedentes:

Estudios previos sobre la discriminación hacia las mujeres en los mercados laborales, como el realizado por Posso (2016), titulado ¿Hay discriminación en contra de las mujeres en Ecuador?, han ampliado el análisis más allá de las brechas salariales, explorando también las disparidades de género en empleo, subempleo y formalidad laboral. Utilizando datos de un estudio exhaustivo de hogares entre 2005 y 2006, dicho trabajo encontró que ser mujer reduce los salarios en un 20% en promedio, y mediante descomposiciones con los métodos de Blinder-Oaxaca, Heckman y Heckman doble, se determinó que el 50% de esta brecha se atribuye a discriminación por género. Además, se identificó que las mujeres tienen un 6% más de probabilidad de trabajar de manera informal debido a factores discriminatorios, y un 40% más de probabilidad de no estar empleadas, diferencia que se explica completamente por factores no observados. El estudio también destaca que las mujeres son un 7% menos propensas a clasificarse como subempleadas, mientras que los hombres tienen un 23% más de probabilidad de hacerlo, lo que sugiere que las mujeres buscan menos empleo formal, posiblemente influenciadas por responsabilidades domésticas y factores socioculturales. Estos hallazgos subrayan la necesidad de políticas que promuevan la igualdad de género tanto en el ámbito laboral como doméstico, además de proponer incentivos fiscales y reformas como el Mandato N.º 8 para formalizar el mercado laboral, y sugieren la importancia de realizar estudios longitudinales cada 5 a 10 años para monitorear los cambios en estas dinámicas.

Otro estudio titulado Abordando la desigualdad de género. Empleo en tecnologías de la información y la comunicación y diferencias salariales por género en España Dueñas-Fernández, Iglesias-Fernández, and Llorente-Heras (2015) analiza el impacto de las Tecnologías de la Información y la Comunicación (TIC) en las desigualdades laborales de género, con un enfoque especial en las brechas salariales en el contexto español, donde la difusión acelerada de estas tecnologías ha coincidido con una persistente desigualdad de género mayor que en otros países de la Unión Europea. Utilizando un triple análisis que incluye la medición del gap salarial, la identificación de componentes no explicados por características laborales y la evaluación a lo largo de la distribución salarial, el estudio revela que, aunque el empleo TIC se asocia con salarios medios más altos para las mujeres, estas enfrentan un diferencial salarial de 459 euros, superior al de 176,9 euros en empleos no TIC, con un componente no explicado de 316 euros frente a 339,7 euros. Los resultados destacan que las TIC reducen solo ligeramente (6,7%) la desigualdad salarial y evidencian un “techo de cristal” en este sector, donde el componente no explicado crece a lo largo de la distribución salarial. Estas conclusiones desafían la hipótesis inicial de que las TIC mejorarían significativamente las condiciones laborales femeninas, sugiriendo que persisten sesgos de género en las relaciones laborales y que se requieren políticas de recursos humanos específicas para abordar estas desigualdades, más allá de los efectos positivos generales de las TIC en los salarios.

References

Dueñas-Fernández, Diego, Carlos Iglesias-Fernández, and Raquel Llorente-Heras. 2015. “Abordando la desigualdad de género. Empleo en tecnologías de la información y la comunicación y diferencias salariales por género en España.” Ensayos sobre Política Económica 33 (78): 207–19. https://doi.org/10.1016/j.espe.2015.09.001.
Posso, Alberto. 2016. “¿Hay discriminación en contra de las mujeres en el mercado laboral ecuatoriano?” Cuadernos de Economía 39 (111): 175–88. https://doi.org/10.1016/j.cesjef.2015.10.004.