1 Propósito

En las prácticas anteriores conocimos la base de la ENBIARE 2025 y comenzamos a comparar grupos.

En esta práctica construiremos y organizaremos distintas variables que podrían estar relacionadas con la satisfacción con la vida.

La pregunta que guiará el trabajo será:

¿Qué características y condiciones de las personas podrían estar relacionadas con su satisfacción con la vida?

Para cada variable seguiremos una misma secuencia:

  1. identificar qué mide y cómo está codificada;
  2. construir o etiquetar la variable;
  3. obtener frecuencias absolutas y relativas;
  4. calcular la satisfacción media para sus categorías;
  5. obtener un intervalo de confianza del 95% (IC95%);
  6. representar gráficamente la media y su IC95%;
  7. interpretar descriptivamente el patrón observado.

Importante: todavía no utilizaremos pruebas de significancia estadística. Los intervalos de confianza se introducirán de manera gráfica y descriptiva. Más adelante estudiaremos formalmente su interpretación.

2 0. Seleccionar la entidad de estudio, ejemplo Michoacán (clave ==16)

# Seleccionar la entidad
# base <- enbiare[enbiare$CVE_ENT == "19", ]

# Comprobar
# dim(base)
# table(base$CVE_ENT)

3 Guardar archivo

#saveRDS(base, "base_nl.rds")

4 1. Preparar el directorio de trabajo

Comience revisando el directorio actual.

#getwd()

Defina ahora la carpeta en la que guardó la base correspondiente a su entidad.

#setwd("C:/Users/ACA A-111.INFORMATICA.000/Documents/estadística3 ximi/enbiare_2025_base_de_datos_csv")

Compruebe qué archivos se encuentran en esa carpeta.

#list.files()

Pregunta 1. ¿Cuál es su directorio de trabajo?

Respuesta: “C:/Users/ACA A-111.INFORMATICA.000/Documents/estadística3 ximi/enbiare_2025_base_de_datos_csv”

5 2. Leer la base de la entidad

Cada estudiante utilizará el archivo .rds correspondiente a la entidad seleccionada.

A partir de esta práctica, independientemente del nombre del archivo, llamaremos base al objeto con el que trabajaremos.

Modifique el nombre del archivo en el siguiente código.

base <- readRDS("base_nl.rds")

Una vez leído el archivo, compruebe sus dimensiones.

dim(base)
## [1] 1006  283

Pregunta 2.

  • Entidad: Nuevo León
  • Nombre del archivo: base_nl.rds
  • Número de casos: 1006
  • Número de variables: 275

6 3. Nuestra variable principal: satisfacción con la vida

La variable PA1 registra la satisfacción actual con la vida en una escala de 0 a 10.

Primero revise cómo se encuentra almacenada.

str(base$PA1)
##  chr [1:1006] "10" "08" "10" "10" "07" "10" "08" "07" "09" "10" "09" "07" ...
table(base$PA1, useNA = "ifany")
## 
##  00  01  02  03  04  05  06  07  08  09  10 
##   2   3   2   7   6  27  28  68 214 229 420

Construya una variable numérica llamada satisf_vida.

base$satisf_vida <- as.numeric(base$PA1)

summary(base$satisf_vida)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##   0.000   8.000   9.000   8.751  10.000  10.000

Pregunta 3. Registre:

  • Media: 8.751
  • Mediana: 9
  • Mínimo: 0
  • Máximo: 10

En esta práctica consideraremos satisf_vida como la variable que queremos comprender o explicar.

7 4. Una función que utilizaremos durante toda la práctica

Vamos a construir una función para calcular:

  • número de casos;
  • media;
  • límite inferior del IC95%;
  • límite superior del IC95%.

Por ahora utilizaremos el IC95% principalmente para visualizar la precisión de las medias. Su interpretación estadística formal se revisará posteriormente.

IC_media <- function(x){
  x <- x[!is.na(x)]
  n <- length(x)
  media <- mean(x)
  error <- qt(0.975, df = n - 1) * sd(x) / sqrt(n)

  c(
    n = n,
    media = media,
    LI = media - error,
    LS = media + error
  )
}

Compruebe la función con satisfacción con la vida.

IC_media(base$satisf_vida)
##           n       media          LI          LS 
## 1006.000000    8.751491    8.656245    8.846737

8 5. Sexo y satisfacción con la vida

8.1 5.1 Revisar la variable original

table(base$SEXO, useNA = "ifany")
## 
##   1   2 
## 460 546

Aunque R almacene SEXO mediante números, esos números representan categorías, no cantidades.

8.2 5.2 Construir la variable

base$sexo_f <- factor(
  base$SEXO,
  levels = c(1, 2),
  labels = c("Hombre", "Mujer")
)

table(base$sexo_f)
## 
## Hombre  Mujer 
##    460    546

8.3 5.3 Frecuencias absolutas y relativas

freq_sexo <- table(base$sexo_f)

freq_sexo
## 
## Hombre  Mujer 
##    460    546
round(prop.table(freq_sexo) * 100, 1)
## 
## Hombre  Mujer 
##   45.7   54.3

Complete:

Sexo n %
Hombre 460 45.7
Mujer 546 54.3
Total 1006 100

8.4 5.4 Satisfacción con la vida según sexo

tapply(
  base$satisf_vida,
  base$sexo_f,
  mean,
  na.rm = TRUE
)
##   Hombre    Mujer 
## 8.843478 8.673993

Obtenga ahora media e IC95%.

grupos <- split(base$satisf_vida, base$sexo_f)
res <- t(sapply(grupos, IC_media))
round(res, 2)
##          n media   LI   LS
## Hombre 460  8.84 8.72 8.97
## Mujer  546  8.67 8.54 8.81

8.5 5.5 Gráfica de media e IC95%

plot(
  1:nrow(res),
  res[, "media"],
  ylim = c(8, 9),
  xaxt = "n",
  xlab = "Sexo",
  ylab = "Satisfacción con la vida",
  main = "Gráfica 1. Satisfacción con la vida según sexo, Nuevo León 2025",
  pch = 19
)

axis(1, at = 1:nrow(res), labels = rownames(res))

arrows(
  1:nrow(res),
  res[, "LI"],
  1:nrow(res),
  res[, "LS"],
  angle = 90,
  code = 3,
  length = 0.05
)

Pregunta 4. ¿Qué observa? ¿Las medias son semejantes o diferentes? Observe también la amplitud de los intervalos.

Respuesta: La media de hombres es mayor que la de mujeres pero los intervalos se cruzan, entonces se puede inferir que en Nuevo León la media de satisfacción con la vida no es significativamente diferente entre hombres y mujeres

9 6. Edad: de una variable cuantitativa a grupos de edad

EDAD es una variable cuantitativa. Revise primero su distribución.

summary(base$EDAD)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##   18.00   30.00   41.00   43.94   57.00   99.00
table(base$EDAD)
## 
## 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 
## 14 24 16 20 17 24 28 16 24 23 18 26 20 27 26 21 13 21 24 22 28 24 20 16 27 20 
## 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 
## 13 13 11 17 15 15 20 17 22 14 16  9  9 17 11 18 17 11 13 10 14 11  9 13 10 10 
## 70 71 72 73 74 75 76 77 78 79 80 81 82 83 85 87 88 90 99 
##  9  8  6 11  7  2  4  7  4  5  1  2  6  4  2  3  1  2  8

Ahora construiremos grupos de edad.

base$grupo_edad <- cut(
  base$EDAD,
  breaks = c(17, 29, 44, 59, 74, 90),
  labels = c("18-29", "30-44", "45-59", "60-74", "75+")
)

9.1 6.1 Frecuencias

freq_edad <- table(base$grupo_edad)

freq_edad
## 
## 18-29 30-44 45-59 60-74   75+ 
##   250   322   224   159    43
round(prop.table(freq_edad) * 100, 1)
## 
## 18-29 30-44 45-59 60-74   75+ 
##  25.1  32.3  22.4  15.9   4.3

Pregunta 5. ¿Cuál es el grupo más numeroso? ¿Cuál es el menos numeroso?

Respuesta: El más numeroso es el de 30-44 (32.3%) y el menos numeroso es el de 75+ (4.3)

Pregunta 6. ¿Qué ganamos y qué información perdemos al transformar la edad exacta en grupos de edad?

Respuesta: Una variable cuantitativa la convertimos en categórica ordinal, ya no podemos obtener estadísticos descriptivos, ganamos que podemos comprarar grupos de edad.

9.2 6.2 Satisfacción según grupos de edad

grupos <- split(base$satisf_vida, base$grupo_edad)
res <- t(sapply(grupos, IC_media))

round(res, 2)
##         n media   LI   LS
## 18-29 250  8.69 8.50 8.88
## 30-44 322  8.94 8.81 9.08
## 45-59 224  8.75 8.54 8.96
## 60-74 159  8.61 8.32 8.90
## 75+    43  8.07 7.44 8.70
plot(
  1:nrow(res),
  res[, "media"],
  ylim = c(7, 9.5),
  xaxt = "n",
  xlab = "Grupo de edad",
  ylab = "Satisfacción con la vida",
  main = "Gráfica 2. Satisfacción con la vida según grupo de edad, Nuevo León 2025",
  pch = 19
)

axis(1, at = 1:nrow(res), labels = rownames(res))

arrows(
  1:nrow(res),
  res[, "LI"],
  1:nrow(res),
  res[, "LS"],
  angle = 90,
  code = 3,
  length = 0.05
)

Pregunta 7. ¿Se observa algún patrón entre edad y satisfacción con la vida? ¿Algún grupo tiene un intervalo considerablemente más amplio? ¿Qué podría explicar esa mayor amplitud?

Respuesta: Los grupos con mayor satisfacción con la vida es el de en medio 30-44, mientras que el de menor satisfacción es el de 75+

10 7. Salud autopercibida

PB1 corresponde a salud autopercibida.

Primero revise las categorías originales.

table(base$PB1, useNA = "ifany")
## 
##   1   2   3   4   5 
##   5  22 293 441 245

Construya una variable con etiquetas.

base$salud_f <- factor(
  base$PB1,
  levels = 1:5,
  labels = c(
    "Muy mala",
    "Mala",
    "Regular",
    "Buena",
    "Muy buena"
  ),
  ordered = TRUE
)

10.1 7.1 Frecuencias

freq_salud <- table(base$salud_f)

freq_salud
## 
##  Muy mala      Mala   Regular     Buena Muy buena 
##         5        22       293       441       245
round(prop.table(freq_salud) * 100, 1)
## 
##  Muy mala      Mala   Regular     Buena Muy buena 
##       0.5       2.2      29.1      43.8      24.4

Pregunta 8. ¿Cuál es la categoría de salud más frecuente?

Respuesta: La mayoría de los encuestados consideran su salud Buena (43.8%)

10.2 7.2 Salud y satisfacción con la vida

grupos <- split(base$satisf_vida, base$salud_f)
res <- t(sapply(grupos, IC_media))

round(res, 2)
##             n media    LI    LS
## Muy mala    5  4.80 -0.57 10.17
## Mala       22  7.23  6.41  8.05
## Regular   293  8.16  7.95  8.37
## Buena     441  8.93  8.81  9.04
## Muy buena 245  9.36  9.24  9.49
plot(
  1:nrow(res),
  res[, "media"],
  ylim = c(4, 10),
  xaxt = "n",
  xlab = "Salud autopercibida",
  ylab = "Satisfacción con la vida",
  main = "Gráfica 3. Satisfacción con la vida según salud autopercibida",
  pch = 19
)

axis(1, at = 1:nrow(res), labels = rownames(res))

arrows(
  1:nrow(res),
  res[, "LI"],
  1:nrow(res),
  res[, "LS"],
  angle = 90,
  code = 3,
  length = 0.05
)

Pregunta 9. ¿Parece existir un gradiente entre salud autopercibida y satisfacción con la vida?

Respuesta: Sí, parece que entre más baja es la salud autopercibida menor es la satisfacción de vida.

11 8. Soledad

Trabajaremos ahora con PB4, frecuencia con que la persona reporta haberse sentido sola.

Antes de construir la variable, observe los códigos.

table(base$PB4, useNA = "ifany")
## 
##   1   2   3   4   5 
## 582 219 122  44  39

Construya la variable etiquetada.

base$soledad_f <- factor(
  base$PB4,
  levels = 1:5,
  labels = c(
    "Nunca",
    "Pocas veces",
    "Algunas veces",
    "La mayor parte del tiempo",
    "Todo el tiempo"
  ),
  ordered = TRUE
)

11.1 8.1 Frecuencias

freq_soledad <- table(base$soledad_f)

freq_soledad
## 
##                     Nunca               Pocas veces             Algunas veces 
##                       582                       219                       122 
## La mayor parte del tiempo            Todo el tiempo 
##                        44                        39
round(prop.table(freq_soledad) * 100, 1)
## 
##                     Nunca               Pocas veces             Algunas veces 
##                      57.9                      21.8                      12.1 
## La mayor parte del tiempo            Todo el tiempo 
##                       4.4                       3.9

11.2 8.2 Soledad y satisfacción

grupos <- split(base$satisf_vida, base$soledad_f)
res <- t(sapply(grupos, IC_media))

round(res, 2)
##                             n media   LI   LS
## Nunca                     582  9.10 9.00 9.21
## Pocas veces               219  8.60 8.42 8.78
## Algunas veces             122  8.10 7.77 8.42
## La mayor parte del tiempo  44  7.59 7.00 8.19
## Todo el tiempo             39  7.67 6.80 8.54
plot(
  1:nrow(res),
  res[, "media"],
  ylim = c(6, 10),
  xaxt = "n",
  xlab = "Frecuencia de soledad",
  ylab = "Satisfacción con la vida",
  main = "Gráfica 4. Satisfacción con la vida según frecuencia de soledad",
  pch = 19
)

axis(1, at = 1:nrow(res), labels = rownames(res), las = 2)

arrows(
  1:nrow(res),
  res[, "LI"],
  1:nrow(res),
  res[, "LS"],
  angle = 90,
  code = 3,
  length = 0.05
)

Pregunta 10. Conforme aumenta la frecuencia de soledad, ¿qué sucede descriptivamente con la satisfacción con la vida?

Respuesta: La satisfacción con la vida tiende a ser mayor cuando la frecuencia de soledad es menor.

12 9. Capacidad económica

Trabajaremos con PC1, relacionada con la capacidad del hogar para llegar a fin de mes.

Antes de etiquetar sus categorías, consulte el descriptor de ENBIARE y escriba exactamente qué significa cada código.

table(base$PC1, useNA = "ifany")
## 
##   1   2   3   4   5   6 
##  31  83 149 172 371 200

Pregunta 11. Escriba el significado de las categorías de PC1.

Respuesta: on mucha dificultad Con dificultad Con poca dificultad Con poca facilidad Con facilidad Con mucha facilidad

Construya ahora una variable factor utilizando las etiquetas verificadas en el descriptor.

base$fin_mes_f <- factor(
  base$PC1,
  levels = 1:6,
  labels = c(
    "Con mucha dificultad",
"Con dificultad",
"Con poca dificultad",
"Con poca facilidad",
"Con facilidad",
"Con mucha facilidad"
),
ordered = TRUE )

Obtenga frecuencias absolutas y relativas.

freq_economia <- table(base$fin_mes_f)

freq_economia
round(prop.table(freq_economia) * 100, 1)

Calcule la satisfacción media y los IC95%.

grupos <- split(base$satisf_vida, base$fin_mes_f)
res <- t(sapply(grupos, IC_media))

round(res, 2)

Utilice el mismo procedimiento de las secciones anteriores para construir una gráfica de media e IC95%.

plot(
  1:nrow(res),
  res[, "media"],
  ylim = c(7, 10),
  xaxt = "n",
  xlab = "Capacidad económica",
  ylab = "Satisfacción con la vida",
  main = "Gráfica 5. Satisfacción con la vida según capacidad económica del hogar",
  pch = 19
)

axis(1, at = 1:nrow(res), labels = rownames(res), las = 2)

arrows(
  1:nrow(res),
  res[, "LI"],
  1:nrow(res),
  res[, "LS"],
  angle = 90,
  code = 3,
  length = 0.05
)

Pregunta 12. ¿Observa algún patrón entre la capacidad económica y la satisfacción con la vida?

Respuesta: Parece que entre mayor capacidad económica los encuestados tienen mayor satisfacción con la vida, lo cual se cumple en todos los casos menos en el caso de mucha dificultad. Ese grupo tiene menor número de datos (31) respecto a los demás, aspecto que puede hacerlo menos confiable.

13 10. Confianza interpersonal

PF1_1 se refiere a la confianza en la mayoría de la gente.

Revise primero la variable.

str(base$PF1_1)
##  chr [1:1006] "10" "03" "08" "08" "02" "01" "04" "02" "05" "01" "05" "00" ...
table(base$PF1_1, useNA = "ifany")
## 
##  00  01  02  03  04  05  06  07  08  09  10 
##  97  32  71  63  77 215 120 143 130  32  26

Pregunta 13. De acuerdo con el descriptor, ¿cómo está medida PF1_1?

Respuesta: En la base de datos es una variable alfanumérica, pero se puede considerar que es numérica.

00 Nada en absoluto 01 - 09 Nivel de confianza 10 Completamente

Antes de modificarla, piense:

¿Conviene conservar todos sus valores o agruparlos?

Si decide agruparla, deberá justificar los puntos de corte. Un agrupamiento simplifica la interpretación, pero también implica pérdida de información.

Decisión tomada: Considero pertinente conservar cada valor por separado

Justificación: Si se agruparan los datos se perderían valores muy altos, como 00 y 05, que son relevantes para describir las respuestas

Construya la variable que utilizará, obtenga sus frecuencias absolutas y relativas y posteriormente calcule la satisfacción media y su IC95%.

base$confianza <- factor(base$PF1_1)
freq_confianza <- table(base$confianza)

freq_confianza
## 
##  00  01  02  03  04  05  06  07  08  09  10 
##  97  32  71  63  77 215 120 143 130  32  26
round(prop.table(freq_confianza) * 100, 1)
## 
##   00   01   02   03   04   05   06   07   08   09   10 
##  9.6  3.2  7.1  6.3  7.7 21.4 11.9 14.2 12.9  3.2  2.6
grupos <- split(base$satisf_vida, base$confianza)
res <- t(sapply(grupos, IC_media))

round(res, 2)

14 Guardar archivo

saveRDS(base, "base_nl.rds")

Construya también la gráfica correspondiente.

# Escriba aquí su código

plot(
  1:nrow(res),
  res[, "media"],
  ylim = c(7.5, 10),
  xaxt = "n",
  xlab = "Confianza en las personas",
  ylab = "Satisfacción con la vida",
  main = "Gráfica 6. Satisfacción con la vida según confianza en las personas",
  pch = 19
)

axis(1, at = 1:nrow(res), labels = rownames(res), las = 2)

arrows(
  1:nrow(res),
  res[, "LI"],
  1:nrow(res),
  res[, "LS"],
  angle = 90,
  code = 3,
  length = 0.05
)

Pregunta 14. ¿Qué relación descriptiva observa entre confianza interpersonal y satisfacción con la vida?

Respuesta: No identifico un patrón, pero parece que quienes tienen mayor confianza en las personas también suelen estar más satisfechos con su vida (del 08 al 10), mientras que, el resto de valores son más aleatorios.

15 11. Una variable adicional

Seleccione una variable adicional de ENBIARE que considere que podría estar relacionada con la satisfacción con la vida.

Antes de analizarla complete:

  • Variable original:
  • ¿Qué mide?:
  • Tipo de variable:
  • ¿Cómo está codificada?:
  • ¿Necesita recodificación o agrupamiento?:
  • ¿Por qué podría relacionarse con satisfacción con la vida?:

Ahora siga la misma secuencia utilizada durante la práctica:

  1. construya o etiquete la variable;
base$redes <- factor(base$PI4_4,
levels = c(1,2),
  labels = c(
    "Sí",
"No"))
  1. obtenga frecuencias absolutas;
  2. obtenga frecuencias relativas;
freq_redes <- table(base$redes)

freq_redes
## 
##  Sí  No 
##  59 946
round(prop.table(freq_redes) * 100, 1)
## 
##   Sí   No 
##  5.9 94.1
  1. calcule satisfacción media por categoría;
  2. calcule IC95%;
grupos <- split(base$satisf_vida, base$redes)
res <- t(sapply(grupos, IC_media))

round(res, 2)
##      n media   LI   LS
## Sí  59  8.20 7.73 8.67
## No 946  8.79 8.69 8.88
  1. construya la gráfica de media e IC95%.
# Escriba aquí su código

plot(
  1:nrow(res),
  res[, "media"],
  ylim = c(7.5, 9),
  xaxt = "n",
  xlab = "Afectación por redes sociales",
  ylab = "Satisfacción con la vida",
  main = "Gráfica 7. Satisfacción con la vida según afectación por redes sociales",
  pch = 19
)

axis(1, at = 1:nrow(res), labels = rownames(res), las = 2)

arrows(
  1:nrow(res),
  res[, "LI"],
  1:nrow(res),
  res[, "LS"],
  angle = 90,
  code = 3,
  length = 0.05
)

Pregunta 15. ¿Qué patrón encontró?

Respuesta: Hay una tendencia de que quienes no se consideran afectados en sus actividades por las redes sociales están más satisfechos con su vida, de hecho, aunque la cantidad de datos sea alta (946) el intervalo de confianza es pequeño. Ahora bien, las personas que sí se consideran afectadas en sus actividades por las redes sociales están menos satisfechos con sus vidas, pero tienen un intervalo muy amplio pese a ser menos datos (59). Como los intervalos se tocan, podría decirse que no hay diferencia significativa entre ambas respuestas.

16 12. Integración de resultados

Hasta ahora hemos examinado posibles relaciones entre satisfacción con la vida y:

  • sexo;
  • edad;
  • salud autopercibida;
  • soledad;
  • capacidad económica;
  • confianza interpersonal;
  • una variable seleccionada por usted.

Complete la siguiente tabla.

Posible factor Variable utilizada ¿Qué patrón descriptivo observó?
Sexo sexo_f
Curso de vida grupo_edad
Salud salud_f
Soledad soledad_f
Capacidad económica fin_mes_f
Confianza interpersonal
Variable propia

17 13. Interpretación antropológica

Observe conjuntamente sus resultados y gráficas.

Redacte un comentario de 200 a 250 palabras que responda:

  1. ¿Qué variables parecen mostrar diferencias más claras en satisfacción con la vida?
  2. ¿En cuáles las medias parecen muy semejantes?
  3. ¿En alguna observa un posible gradiente?
  4. ¿Qué explicaciones sociales, culturales o demográficas podrían plantearse como hipótesis?
  5. ¿Qué aspectos importantes para comprender la satisfacción con la vida no pueden conocerse solamente mediante estas variables?
  6. ¿Qué podría aportar una aproximación cualitativa o etnográfica?

Interpretación final:

18 14. Para discutir en clase

Seleccione una gráfica que considere especialmente interesante.

Prepare para compartir:

  • Entidad:
  • Variable seleccionada:
  • Patrón observado:
  • Una posible interpretación antropológica:

Finalmente responda:

¿Que dos intervalos de confianza se superpongan significa necesariamente que no existe una diferencia entre los grupos?

Por ahora no es necesario resolver formalmente esta pregunta. La retomaremos cuando estudiemos inferencia estadística.

19 Cierre

Al terminar esta práctica deberá poder:

  • iniciar un análisis desde la lectura del archivo de datos;
  • distinguir entre códigos numéricos y variables cuantitativas;
  • construir y etiquetar variables;
  • agrupar una variable cuando exista una justificación;
  • obtener frecuencias absolutas y relativas;
  • calcular medias por grupos;
  • representar medias mediante intervalos de confianza del 95%;
  • identificar descriptivamente patrones y gradientes;
  • distinguir entre un resultado observado y una posible explicación;
  • relacionar decisiones estadísticas con preguntas antropológicas.

Nota metodológica: continuamos trabajando descriptivamente con los registros de la muestra de ENBIARE correspondientes a cada entidad. Los intervalos de confianza utilizados en esta práctica tienen una finalidad introductoria. Posteriormente incorporaremos el factor de expansión y el diseño complejo de la encuesta para realizar estimaciones poblacionales y estudiaremos formalmente la inferencia estadística.