Deber_17_mayo

Author

Luis Rojas Lenin Jimenez

Encuesta Nacional de Salud y Nutrición 2018

El presente trabajo ha sido elaborado tomando como base los datos provistos por el Instituto Nacional de Estadística y Censos (INEC). La Encuesta Nacional de Salud y Nutrición 2018 constituye una fuente oficial y confiable para el análisis de las condiciones de salud, estado nutricional y acceso a servicios sanitarios de la población ecuatoriana. La información recopilada permite desarrollar estudios con sustento empírico y orientar políticas públicas en materia de salud y nutrición.

Cargar las librerías necesarias

library(dplyr)   # Para manipular los datos

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(ggplot2) # Para crear gráficos
library(foreign) #Cargas datos .dta
library(msm)
library(car)
Cargando paquete requerido: carData

Adjuntando el paquete: 'car'
The following object is masked from 'package:dplyr':

    recode
library(plotrix)

#Setear directorio de trabajo

library(foreign)
library(haven)
data <- read_dta("Data1_R.dta")
View(data)
head(data)
# 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>, …
media <- mean(data$ingrl, na.rm = TRUE)  # Calcula la media
print (media)
[1] 162.6633

En este caso, se observa que el ingreso promedio mensual de las mujeres en el año 2018 fue de $162,66, una cifra significativamente inferior al Salario Básico Unificado (SBU) vigente para ese mismo año en Ecuador. Esta brecha salarial refleja no solo una desigualdad de ingresos entre géneros, sino también posibles barreras estructurales que limitan el acceso de las mujeres a empleos formales y mejor remunerados.

desviacion <- sd(data$ingrl, na.rm = TRUE)  # Calcula la desviación estándar
print (desviacion)
[1] 329.8832

Una desviación estándar de aproximadamente 329.88 sugiere que los valores de ingrl presentan una variabilidad considerable.

n <- length(data$ingrl)  # Número de observaciones
print(n)
[1] 16451

Hay 16451 observaciones.

summary(data$ingrl)
   Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
    0.0     0.0     0.0   162.7   200.0  3000.0 
# la función sqrt() se utiliza para calcular la raíz cuadrada de un número
# Calcular el error estándar
error_estandar <- desviacion / sqrt(n)
print(error_estandar)
[1] 2.571959

En este caso, el valor obtenido es 2.57, lo cual sugiere que la media de la variable ingrl tiene una precisión alta, considerando que el error estándar es mucho menor que la desviación estándar (329.88)

# Calcular el intervalo de confianza al 95%
#Nota: Para un intervalo de confianza del 95% en una distribución normal, 
#el 0.975 se refiere al percentil superior. Es decir, en una distribución 
#normal, el 97.5% de las observaciones están a la izquierda de este valor 
#de z, y solo el 2.5% están a la derecha.
#Por lo tanto, el valor calculado en qnorm(0.975) es el valor crítico z 
#que se utiliza para calcular los intervalos de confianza del 95%.

z <- qnorm(0.975)  # Z-score para un intervalo de confianza del 95%
print(z)
[1] 1.959964
z2<- qnorm(0.95)  # Z-score para un intervalo de confianza del 90%
print(z2)
[1] 1.644854
z3<- qnorm(0.995)   # Z-score para un intervalo de confianza del 99%
print(z3)
[1] 2.575829
margen_error <- z * error_estandar  # Margen de error
print(margen_error)
[1] 5.040948

Dado que el resultado es 5.04, podemos suponer que el valor z usado fue aproximadamente 1.96, lo cual corresponde a un intervalo de confianza del 95%.

# Intervalo de confianza
IC_inferior <- media - margen_error
print(IC_inferior)
[1] 157.6223
IC_superior <- media + margen_error
print(IC_superior)
[1] 167.7042
# Mostrar el intervalo de confianza
# cat es útil para imprimir mensajes de texto personalizados, combinando variables y texto
cat("El intervalo de confianza para la media de 'ingrl' es: [", IC_inferior, ",", IC_superior, "]\n")
El intervalo de confianza para la media de 'ingrl' es: [ 157.6223 , 167.7042 ]
#cbind imprime texxto en columnas 
intervalo95<-cbind(IC_inferior,media,IC_superior);intervalo95 #Para transformar a matriz
     IC_inferior    media IC_superior
[1,]    157.6223 162.6633    167.7042
##Otra forma de impirmir los resultados
colnames(intervalo95)<-c("IC_low","media","IC_high");intervalo95 #Para cambiar nombres más cortos de columnas
       IC_low    media  IC_high
[1,] 157.6223 162.6633 167.7042

La remuneración promedio de las mujeres se encuentra entre aproximadamente 157,62 y 167,70 unidades monetarias. Esto significa que si repitiéramos este estudio muchas veces con diferentes muestras del mismo tamaño, el 95% de los intervalos obtenidos incluirían la verdadera media poblacional.

Forma simplificada de encontrar intervalos

#Una forma más simplificada de calcular un intervalo de confianza para
#la media (con un comando sacamos lo mismo que los pasos anteriores)

media_test <- t.test(data$ingrl, conf.level = 0.95)
print(media_test$conf.int)
[1] 157.6220 167.7046
attr(,"conf.level")
[1] 0.95

######Plotear los Intervalos de Confianza en un gráfico”

labels<-c("CI_95")
names(labels)<-labels
#round es para redondear, es este caso dos digitos

labelsre1<-round(c(media),2) 
labelsre2<-round(c(IC_inferior),2) 
labelsre3<-round(c(IC_superior),2) 
names(labelsre1)<-labelsre1
xre1<-c(media)
y1<-(4)
lre1<-c(IC_inferior)
ure1<-c(IC_superior)
# este codigo lo usamos para todo unicamente cambiamos xre1 lre1 ure1
options(repos = c(CRAN = "https://cloud.r-project.org"))
install.packages("plotrix")
Warning: package 'plotrix' is in use and will not be installed
library(plotrix)
plotCI(xre1,y1, ui=ure1,li=lre1,col="#898989",scol="#898989",
       err="x",
       axes=FALSE,   ## disable axes (including tick labels)
       pch=21,
       pt.bg=16,
       cex = 0.30,
       slty = 1,
       lwd=1,
       xlab="",
       ylab="",
       ylim=c(1,7),
       xlim=c(154,169),   ## suppress x-axis label
       main="Intervalo de Confianza para el Ingreso Promedio",
       cex.main=0.85,
       font.main = 1)
abline(v = xre1, col = "red",lty = 2)
#text(-200,"Media",col="blue")
axis(side=1,cex.axis=0.65)         ## add default y-axis (ticks+labels)
axis(side=2,at=4,  ## add custom x-axis
     labels= labels,cex.axis=0.30)
box(bty="l")         ## add box
text(xre1, y1+0.03, labelsre1, cex = 0.65, pos= 3)
text(lre1, y1+0.03, labelsre2, cex = 0.65, pos= 3)
text(ure1, y1+0.03, labelsre3, cex = 0.65, pos= 3)

Precisión: El intervalo no es demasiado ancho, lo cual indica alta precisión en la estimación de la media. Esto generalmente ocurre cuando el tamaño muestral es elevado o la variabilidad es baja.

Simetría: La media está centrada aproximadamente a la mitad del intervalo, lo que sugiere que la distribución muestral del ingreso es probablemente simétrica (aunque esto habría que confirmar con un histograma).

Comunicación visual clara: Las etiquetas numéricas de los extremos del intervalo y la media ayudan a una lectura directa, ideal para presentaciones o reportes ejecutivos.

Intervalo de Confianza para la proporción de la variable ‘depresion_pp’ post parto

## cualitativa entre 0 y 1

# Calcular la proporción muestral p
library(haven)
p <- sum(as_factor(data$depresion_pp) == "Si", na.rm = TRUE) / sum(!is.na(data$depresion_pp))
print(p)
[1] 0.2202298

Proporción muestral p = 0.2202, es decir: Aproximadamente el 22.02% de las mujeres en la muestra reportaron haber experimentado depresión posparto.

# Tamaño de la muestra
n <- length(data$depresion_pp)
# Nivel de confianza (95%) -> Z-value 1.96
z <- qnorm(0.975)  # Z-score para un intervalo de confianza del 95%
z2<- qnorm(0.95)   # Z-score para un intervalo de confianza del 90%
z3<- qnorm(0.995)   # Z-score para un intervalo de confianza del 99%
# Calcular el error estándar
error_estandarp <- sqrt((p * (1 - p)) / n)
# Calcular el margen de error
margen_errorp <- z * error_estandarp
# Calcular los límites del intervalo de confianza
IC_inferiorp <- p - margen_errorp
IC_superiorp <- p + margen_errorp
# Mostrar el intervalo de confianza para proporciones
cat("El intervalo de confianza para la media de 'mujeres con depresión post partol' es: [", IC_inferiorp, ",", IC_superiorp, "]")
El intervalo de confianza para la media de 'mujeres con depresión post partol' es: [ 0.2138973 , 0.2265622 ]
intervalo95p<-cbind(IC_inferiorp,p,IC_superiorp);intervalo95p #Para transformar a matriz
     IC_inferiorp         p IC_superiorp
[1,]    0.2138973 0.2202298    0.2265622
#Interpretación. 
colnames(intervalo95p)<-c("IC_low","p","IC_high");intervalo95p #Para cambiar nombres más cortos de columnas
        IC_low         p   IC_high
[1,] 0.2138973 0.2202298 0.2265622

Con un nivel de confianza del 95%, se puede afirmar que: La proporción de mujeres que han experimentado depresión posparto se encuentra entre aproximadamente 21.39% y 22.66% en la población, con base en los datos muestrales. Esto quiere decir que si se repitiera este estudio muchas veces con distintas muestras, el 95% de las veces el valor verdadero de la proporción poblacional caería dentro de ese rango.

#Una forma más simplificada de calcular un intervalo de confianza para
#proporciones

library(haven)
depresion_factor <- as_factor(data$depresion_pp)

prop_test <- prop.test(
  sum(depresion_factor == "Si", na.rm = TRUE),  # éxitos
  sum(!is.na(depresion_factor)),                # total válido
  conf.level = 0.95
)
print(prop_test$conf.int)
[1] 0.2139329 0.2266579
attr(,"conf.level")
[1] 0.95

Con un nivel de confianza del 95%, se puede afirmar que: La proporción de mujeres que han experimentado depresión posparto se encuentra entre aproximadamente 21.39% y 22.66% en la población, con base en los datos muestrales. Esto quiere decir que si se repitiera este estudio muchas veces con distintas muestras, el 95% de las veces el valor verdadero de la proporción poblacional caería dentro de ese rango.

Prueba de hipótesis de Medias

Supongamos que queremos realizar una prueba de hipótesis para la media de ‘ingrl’ H0: El ingreso promedio poblacional es igual a $450 HA: El ingreso promedio poblacional es diferente a $450 Recordar que la HA nunca contiene los signos “=” , “≤” o “≥”.

# Realizar una prueba t para una sola muestra
t_prueba <- t.test(data$ingrl, mu = 450, conf.level = 0.95)
print(t_prueba)

    One Sample t-test

data:  data$ingrl
t = -111.72, df = 16450, p-value < 2.2e-16
alternative hypothesis: true mean is not equal to 450
95 percent confidence interval:
 157.6220 167.7046
sample estimates:
mean of x 
 162.6633 

#Análisis: fijarse en el p-value

El análisis realizado revela que el ingreso promedio de las mujeres es de 162.66 unidades monetarias, con un intervalo de confianza del 95% entre 157.62 y 167.70. Al compararlo con un valor de referencia de 450 mediante una prueba t para una sola muestra, se obtuvo un p-valor menor a 2.2e-16, lo que indica una diferencia estadísticamente significativa. Dado que el valor hipotético no se encuentra dentro del intervalo de confianza, se concluye que el ingreso promedio real de las mujeres es significativamente inferior al umbral planteado.

#p valor significativo, por lo tanto, rechazo la hipótesis nula y no rechazo la #hipótesis alternativa

# Interpretar los resultados:
# Si el valor p es menor a 0.05, rechazamos la hipótesis nula
if (t_prueba$p.value < 0.05) {
  cat("Rechazamos la hipótesis nula: Entonces tenemos evidencia de que la media de 'ingrl' es diferente de 450.\n")
} else {
  cat("No rechazamos la hipótesis nula: Entonces tenemos evidencia de que la media de 'ingrl' es igual a 450.\n")
}
Rechazamos la hipótesis nula: Entonces tenemos evidencia de que la media de 'ingrl' es diferente de 450.

Supongamos que queremos realizar una prueba de hipótesis para la media de ‘ingrl’ H0: El ingreso promedio poblacional es mayor e igual a $450 HA: El ingreso promedio poblacional es menor a $450 Recordar que la HA nunca contiene los signos “=” , “≤” o “≥”.

Realizar una prueba t para una sola muestra

#less menor 
t_prueba2 <- t.test(data$ingrl, mu = 450, alternative = "less", conf.level = 0.95)
print(t_prueba2)

    One Sample t-test

data:  data$ingrl
t = -111.72, df = 16450, p-value < 2.2e-16
alternative hypothesis: true mean is less than 450
95 percent confidence interval:
    -Inf 166.894
sample estimates:
mean of x 
 162.6633 
#p valor significativo, por lo tanto, rechazo la hipótesis nula y no rechazo la
#hipótesis alternativa 
# Interpretar los resultados:
# Si el valor p es menor a 0.05, rechazamos la hipótesis nula
if (t_prueba$p.value < 0.05) {
  cat("Rechazamos la hipótesis nula: Entonces tenemos evidencia de que la media poblacional de 'ingrl' es menor a 450.\n")
} else {
  cat("No rechazamos la hipótesis nula: Entonces tenemos evidencia de que la media poblacional de 'ingrl' es mayor e igual a 450.\n")
}
Rechazamos la hipótesis nula: Entonces tenemos evidencia de que la media poblacional de 'ingrl' es menor a 450.

Prueba de hipótesis de proporciones

Supongamos que queremos realizar una prueba de hipótesis para proporción de ‘depresion_pp’ H0: La proporción poblacional es igual a 0.10 HA: La proporción poblacional es diferente a 0.10 Recordar que la HA nunca contiene los signos “=” , “≤” o “≥”.

# Realizamos la prueba para saber si la proporción es diferente a 0.10
library(haven)
depresion <- as_factor(data$depresion_pp)
prop_test <- prop.test(
  sum(depresion == "Si", na.rm = TRUE),              # cantidad de "Si"
  sum(!is.na(depresion)),                            # total válido
  p = 0.10,                                          # proporción esperada
  conf.level = 0.95
)
print(prop_test)

    1-sample proportions test with continuity correction

data:  sum(depresion == "Si", na.rm = TRUE) out of sum(!is.na(depresion)), null probability 0.1
X-squared = 2640.9, df = 1, p-value < 2.2e-16
alternative hypothesis: true p is not equal to 0.1
95 percent confidence interval:
 0.2139329 0.2266579
sample estimates:
        p 
0.2202298 
# Interpretar los resultados:
# Si el valor p es menor a 0.05, rechazamos la hipótesis nula
if (prop_test$p.value < 0.05) {
  cat("Rechazamos la hipótesis nula: Entonces tenemos evidencia de que la proporción de 'depresion_pp' es diferente a 0.10.\n")
} else {
  cat("No rechazamos la hipótesis nula: Entonces tenemos evidencia de que la proporción de 'depresion_pp' es igual a 0.10.\n")
}
Rechazamos la hipótesis nula: Entonces tenemos evidencia de que la proporción de 'depresion_pp' es diferente a 0.10.

Supongamos que queremos realizar una prueba de hipótesis para proporción de ‘depresion_pp’ H0: La proporción poblacional es menor e igual a 0.10 HA: La proporción poblacional es mayor a 0.10

# Realizamos la prueba para saber si la proporción es mayor a 0.10
prop_test2 <- prop.test(
  x = sum(as_factor(data$depresion_pp) == "Si", na.rm = TRUE),
  n = sum(!is.na(data$depresion_pp)),
  p = 0.10,
  alternative = "greater",
  conf.level = 0.95
)

print(prop_test2)## greater porque es mayor

    1-sample proportions test with continuity correction

data:  sum(as_factor(data$depresion_pp) == "Si", na.rm = TRUE) out of sum(!is.na(data$depresion_pp)), null probability 0.1
X-squared = 2640.9, df = 1, p-value < 2.2e-16
alternative hypothesis: true p is greater than 0.1
95 percent confidence interval:
 0.2149315 1.0000000
sample estimates:
        p 
0.2202298 
if (prop_test2$p.value < 0.05) {
  cat("Rechazamos la hipótesis nula: Entonces tenemos evidencia de que la proporción de 'depresion_pp' es mayor a 0.10.\n")
} else {
  cat("No rechazamos la hipótesis nula: Entonces tenemos evidencia de que la proporción de 'depresion_pp' es menor e igual 0.10.\n")
}
Rechazamos la hipótesis nula: Entonces tenemos evidencia de que la proporción de 'depresion_pp' es mayor a 0.10.

Prueba de hipótesis diferencia de medias

Realizar una prueba t de diferencia de medias entre los dos grupos (casadas y no casadas) Supongamos que ‘estado_civil’ es la variable que indica el estado civil (1 = casada, 0 = no casada) H0: La diferencia de ingresos promedios entre mujeres casadas y no casadas es igual 0 HA: La diferencia de ingresos promedios entre mujeres casadas y no casadas es diferente de 0 Recordar que la HA nunca contiene los signos “=” , “≤” o “≥”.

Cuando el p-value es significativo rechazo la HO y acepto la alternativa

# Aplicamos la prueba t para comparar los ingresos entre los dos grupos
t_prueba_ingreso <- t.test(ingrl ~ est_civil, data = data, conf.level = 0.95)
print(t_prueba_ingreso)

    Welch Two Sample t-test

data:  ingrl by est_civil
t = -16.887, df = 7261.1, p-value < 2.2e-16
alternative hypothesis: true difference in means between group 0 and group 1 is not equal to 0
95 percent confidence interval:
 -119.88438  -94.94594
sample estimates:
mean in group 0 mean in group 1 
       129.0173        236.4325 

Prueba de hipótesis diferencia de proporciones

Realizar la prueba de diferencia de proporciones entre los dos grupos (casadas y no casadas) ‘estado_civil’ indica el estado civil (1 = casada, 0 = no casada) ‘depresion_pp’ es la variable que indica la presencia de depresión posparto (1 = Sí, 0 = No) H0: La diferencia de proporciones de dpp entre mujeres casadas y no casadas es igual 0 HA: La diferencia de proporciones de dpp entre mujeres casadas y no casadas es diferente de 0 Recordar que la HA nunca contiene los signos “=” , “≤” o “≥”.

# Contar los casos de mujeres con depresión posparto en cada grupo
casadas <- sum(as_factor(data$depresion_pp) == "Si" & as_factor(data$est_civil) == "Casada", na.rm = TRUE)
no_casadas <- sum(as_factor(data$depresion_pp) == "Si" & as_factor(data$est_civil) == "En otro caso", na.rm = TRUE)
# Contar el total de mujeres en cada grupo
total_casadas <- sum(as_factor(data$est_civil) == "Casada", na.rm = TRUE)
total_no_casadas <- sum(as_factor(data$est_civil) == "En otro caso", na.rm = TRUE)
# Realizar la prueba de diferencia de proporciones
prop_test_depresion <- prop.test(c(casadas, no_casadas), c(total_casadas, total_no_casadas), conf.level = 0.95)
print(prop_test_depresion)

    2-sample test for equality of proportions with continuity correction

data:  c(casadas, no_casadas) out of c(total_casadas, total_no_casadas)
X-squared = 9.9229, df = 1, p-value = 0.001632
alternative hypothesis: two.sided
95 percent confidence interval:
 0.008114783 0.036054748
sample estimates:
   prop 1    prop 2 
0.2353969 0.2133121 

prop 1 = 0.2354 (23.54%) → proporción en el grupo de casadas

prop 2 = 0.2133 (21.33%) → proporción en el grupo de no casadas

Diferencia estimada: 0.2354 - 0.2133 ≈ 0.0221, que está dentro del intervalo de confianza dado.

REVISION DE LITERATURA

De acuerdo a Lopez-Olmos (2016) Las mujeres posmenopáusicas tienen mayor paridad, mayor IMC (con tendencia a la obesidad), más problemas médicos como HTA (30%), osteoporosis (10,61%) y cáncer de mama (10%). 2) Tienen más frecuente estado civil de viuda, más estudios primarios, menos secundarios y muchas no tienen ingresos personales.

References

Lopez-Olmos, J. 2016. “Diferencias en disfunciones sexuales y depresión entre mujeres premenopáusicas (de 40-50 años) y mujeres posmenopáusicas (de 50-60 años). Estudio prospectivo de un año.” Clínica e Investigación en Ginecología y Obstetricia 43 (2): 50–57. https://doi.org/10.1016/j.gine.2014.04.008.