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:
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.
Comience revisando el directorio actual.
getwd()
## [1] "C:/Users/HP Envy/Desktop/Tanya María/1 ENAH 2026/Maestría/materias/Metodologia cuanti"
Defina ahora la carpeta en la que guardó la base correspondiente a su entidad.
setwd("C:/Users/HP Envy/Desktop/Tanya María/1 ENAH 2026/Maestría/materias/Metodologia cuanti")
Compruebe qué archivos se encuentran en esa carpeta.
list.files()
## [1] "~$enbiare_2025_fd.xlsx"
## [2] "02_USUARIOS_01.XLS"
## [3] "02_USUARIOS_08.XLS"
## [4] "base ejercicio 3.RData"
## [5] "base tbc y base original.RData"
## [6] "base.RData"
## [7] "base_tbc.RData"
## [8] "base_tbc.rds"
## [9] "Bases del ejercicio 2.RData"
## [10] "conjunto_de_datos_enbiare_2025_csv.zip"
## [11] "ejercicio tabasco.RData"
## [12] "enbiare ejercicio.R"
## [13] "enbiare_2025_base_de_datos_csv.zip"
## [14] "enbiare_2025_fd.xlsx"
## [15] "enbiare_2025_tab_ef_xlsx.zip"
## [16] "enbiare_2025_tab_xlsx.zip"
## [17] "figure-html"
## [18] "Fragoso_Tanya_Practica_1_ENBIARE.html"
## [19] "Fragoso_Tanya_Practica_1_ENBIARE.Rmd"
## [20] "Fragoso_Tanya_Practica_2_ENBIARE.html"
## [21] "Fragoso_Tanya_Practica_2_ENBIARE.Rmd"
## [22] "Fragoso_Tanya_Practica_3_ENBIARE.Rmd"
## [23] "Niños en albergue para menores en DF.xlsx"
## [24] "Practica_3_ENAH_ENBIARE_construccion_variables.Rmd"
## [25] "rsconnect"
## [26] "Tablas con salud.RData"
## [27] "TENBIARE.csv"
Pregunta 1. ¿Cuál es su directorio de trabajo?
“C:/Users/HP Envy/Desktop/Tanya María/1 ENAH 2026/Maestría/materias/Metodologia cuanti”
load("C:/Users/HP Envy/Desktop/Tanya María/1 ENAH 2026/Maestría/materias/Metodologia cuanti/base_tbc.RData")
dim(base_tbc)
## [1] 1029 276
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_tbc.rds")
rm(base_tbc)
Una vez leído el archivo, compruebe sus dimensiones.
load("C:/Users/HP Envy/Desktop/Tanya María/1 ENAH 2026/Maestría/materias/Metodologia cuanti/base ejercicio 3.RData")
dim(base)
## [1] 1029 276
Pregunta 2.
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)
## num [1:1029] 8 10 10 10 6 8 10 9 10 10 ...
table(base$PA1, useNA = "ifany")
##
## 0 1 2 3 4 5 6 7 8 9 10
## 8 3 4 12 10 64 34 93 249 208 344
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.325 10.000 10.000
Pregunta 3. Registre:
En esta práctica consideraremos satisf_vida como la
variable que queremos comprender o explicar.
Vamos a construir una función para calcular:
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
## 1029.000000 8.324587 8.211013 8.438160
table(base$SEXO, useNA = "ifany")
##
## 1 2
## 478 551
Aunque R almacene SEXO mediante números, esos números
representan categorías, no cantidades.
base$sexo_f <- factor(
base$SEXO,
levels = c(1, 2),
labels = c("Hombre", "Mujer")
)
table(base$sexo_f)
##
## Hombre Mujer
## 478 551
freq_sexo <- table(base$sexo_f)
freq_sexo
##
## Hombre Mujer
## 478 551
round(prop.table(freq_sexo) * 100, 1)
##
## Hombre Mujer
## 46.5 53.5
Complete:
| Sexo | n | % |
|---|---|---|
| Hombre | 478 | 46.5 |
| Mujer | 551 | 53.5 |
| Total | 1029 | 100 |
tapply(
base$satisf_vida,
base$sexo_f,
mean,
na.rm = TRUE
)
## Hombre Mujer
## 8.430962 8.232305
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 478 8.43 8.27 8.59
## Mujer 551 8.23 8.07 8.39
plot(
1:nrow(res),
res[, "media"],
ylim = c(8, 9),
xaxt = "n",
xlab = "Sexo",
ylab = "Satisfacción con la vida",
main = "Grafica 1. Satisfacción con la vida
según sexo, Tabasco 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: Las medias son muy cercanas y los intervalos muy estrechos. Redujimos el rango, para que se viera más de cerca (de 0-10, a 8-9). Los intervalos se cruzan, por lo que no hay diferencias significativas n las medias de la satisfacción de la vida entre hombres y mujeres
EDAD es una variable cuantitativa. Revise primero su
distribución.
summary(base$EDAD)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 18.00 31.00 43.00 45.23 59.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
## 22 11 16 19 17 28 10 21 19 20 17 18 15 29 24 22 17 19 28 25 27 25 24 22 19 16
## 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
## 24 16 17 15 23 14 22 13 16 19 11 14 9 18 9 13 17 19 17 16 9 13 11 10 6 13
## 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 91 92 94 99
## 16 9 14 7 6 12 6 4 6 6 3 1 2 3 2 3 3 3 2 1 2 1 1 2
Ahora construiremos grupos de edad.
base$grupo_edad <- cut(
base$EDAD,
breaks = c(17, 29, 44, 59, 74, 94),
labels = c("18-29", "30-44", "45-59", "60-74", "75+")
)
freq_edad <- table(base$grupo_edad)
freq_edad
##
## 18-29 30-44 45-59 60-74 75+
## 218 336 229 183 61
round(prop.table(freq_edad) * 100, 1)
##
## 18-29 30-44 45-59 60-74 75+
## 21.2 32.7 22.3 17.8 5.9
Pregunta 5. ¿Cuál es el grupo más numeroso? ¿Cuál es el menos numeroso?
Respuesta: de 30 a 44 años de edad es el más numeroso (336) y el menos numeroso fue el de 75+ (5.9%)
Pregunta 6. ¿Qué ganamos y qué información perdemos al transformar la edad exacta en grupos de edad?
Respuesta: ya no es una variable numérica sino ordinal, lo cual permite comparar grupos de edad y verlo en porcentajes
grupos <- split(base$satisf_vida, base$grupo_edad)
res <- t(sapply(grupos, IC_media))
round(res, 2)
## n media LI LS
## 18-29 218 8.50 8.27 8.73
## 30-44 336 8.40 8.23 8.58
## 45-59 229 8.19 7.94 8.44
## 60-74 183 8.19 7.86 8.51
## 75+ 61 8.23 7.72 8.74
plot(
1:nrow(res),
res[, "media"],
ylim = c(8, 8.6),
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, Tabasco 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?
Que va disminuyendo conforme avanzan los años (de 18 a 45), después se mantiene en ese nivel durante los proximos años (hasta 74) y posteriormete vuelve a subir un poco, en el intervalo de 75+
PB1 corresponde a salud autopercibida.
Primero revise las categorías originales.
table(base$PB1, useNA = "ifany")
##
## 1 2 3 4 5
## 10 46 392 414 167
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
)
base$salud_4 <- factor(
ifelse(base$PB1 %in% c(1, 2), "Mala",
ifelse(base$PB1 == 3, "Regular",
ifelse(base$PB1 == 4, "Buena", "Muy buena"))),
levels = c("Mala", "Regular", "Buena", "Muy buena"),
ordered = TRUE
)
freq_salud <- table(base$salud_4)
freq_salud
##
## Mala Regular Buena Muy buena
## 56 392 414 167
round(prop.table(freq_salud) * 100, 1)
##
## Mala Regular Buena Muy buena
## 5.4 38.1 40.2 16.2
Pregunta 8. ¿Cuál es la categoría de salud más frecuente?
Buena con 40.2%
grupos <- split(base$satisf_vida, base$salud_4)
res <- t(sapply(grupos, IC_media))
round(res, 2)
## n media LI LS
## Mala 56 6.73 6.14 7.32
## Regular 392 7.85 7.65 8.05
## Buena 414 8.70 8.56 8.84
## Muy buena 167 9.05 8.82 9.28
plot(
1:nrow(res),
res[, "media"],
ylim = c(6, 9.2),
xaxt = "n",
xlab = "Salud autopercibida",
ylab = "Satisfacción con la vida",
main = "Gráfica 3.Satisfacción con la vida
según salud autopercibida. Tabasco 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 9. ¿Parece existir un gradiente entre salud autopercibida y satisfacción con la vida?
A mayor salud autopercibida, mayor satisfacción con la vida (no causal sino de relación)
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
## 519 231 170 56 53
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
)
freq_soledad <- table(base$soledad_f)
freq_soledad
##
## Nunca Pocas veces Algunas veces
## 519 231 170
## La mayor parte del tiempo Todo el tiempo
## 56 53
round(prop.table(freq_soledad) * 100, 1)
##
## Nunca Pocas veces Algunas veces
## 50.4 22.4 16.5
## La mayor parte del tiempo Todo el tiempo
## 5.4 5.2
grupos <- split(base$satisf_vida, base$soledad_f)
res <- t(sapply(grupos, IC_media))
round(res, 2)
## n media LI LS
## Nunca 519 8.75 8.61 8.88
## Pocas veces 231 8.35 8.16 8.55
## Algunas veces 170 7.69 7.34 8.03
## La mayor parte del tiempo 56 7.32 6.79 7.85
## Todo el tiempo 53 7.17 6.41 7.93
plot(
1:nrow(res),
res[, "media"],
ylim = c(6, 9),
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, Tabasco 2025",
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?
A menor percepción de soledad, se refiere mayor satisfacción con la vida
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
## 107 178 198 196 255 95
Pregunta 11. Escriba el significado de las
categorías de PC1.
1 Con mucha dificultad 2 Con dificultad 3 Con poca dificultad 4 Con poca facilidad 5 Con facilidad 6 Con mucha facilidad
Construya ahora una variable factor utilizando las etiquetas verificadas en el descriptor.
base$fin_mes_f <- factor(
base$PC1,
levels = c(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(6.5, 9.5),
xaxt = "n",
xlab = "Frecuencia de capacidad del hogar para llegar a fin de mes",
ylab = "Satisfacción con la vida",
main = "Gráfica 5. Satisfacción con la vida
según la capacidad del hogar para llegar a fin de mes, Tabasco 2025",
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?
Si, va incrementando. A mayor capacidad del hogar para llegar a fin de mes, es mayor la satisfacción de vida
PF1_1 se refiere a la confianza en la mayoría de la
gente.
Revise primero la variable.
str(base$PF1_1)
## chr [1:1029] "06" "04" "07" "10" "06" "01" "08" "07" "05" "09" "05" "09" ...
table(base$PF1_1, useNA = "ifany")
##
## 00 01 02 03 04 05 06 07 08 09 10
## 155 40 68 89 80 214 126 113 94 24 26
Pregunta 13. De acuerdo con el descriptor, ¿cómo
está medida PF1_1?
Confianza en las demás personas: variable caracter
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:Sí lo agrupé
**Justificación:Porque noté que había cierta semejanza en algunos de los valores, por lo que no perdía infromación importante
Construya la variable que utilizará, obtenga sus frecuencias absolutas y relativas y posteriormente calcule la satisfacción media y su IC95%.
table(base$PF1_1, useNA = "ifany")
##
## 00 01 02 03 04 05 06 07 08 09 10
## 155 40 68 89 80 214 126 113 94 24 26
base$PF1_1 <- as.numeric(base$PF1_1)
base$grupo_confianza <- cut(
base$PF1_1,
breaks = c(-1, 00, 02, 04, 05, 08, 10),
labels = c("0", "1-2", "3-4", "5", "6-8", "9-10")
)
freq_confianza <- table(base$grupo_confianza)
freq_confianza
round(prop.table(freq_confianza) * 100, 1)
grupos <- split(base$satisf_vida, base$grupo_confianza)
res <- t(sapply(grupos, IC_media))
round(res, 2)
Construya también la gráfica correspondiente.
hist(base$PF1_1,
main = "Histograma 1. Confianza en las demás
personas en Tabasco, 2025",
xlab = "Nivel de Confianza (0 a 10)",
ylab = "Frecuencia")
plot(
1:nrow(res),
res[, "media"],
ylim = c(7.5, 9.5),
xaxt = "n",
xlab = "Frecuencia de confianza en las demás personas",
ylab = "Satisfacción con la vida",
main = "Gráfica 6.Satisfacción con la vida según
la confianza en las demás personas, Tabasco 2025",
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: Una mayor satisfacción de vida, está relacionada con un nivel mayor de confianza en las demás personas
Seleccione una variable adicional de ENBIARE que considere que podría estar relacionada con la satisfacción con la vida.
Antes de analizarla complete:
Ahora siga la misma secuencia utilizada durante la práctica:
table(base$PA3_03, useNA = "ifany")
##
## 00 01 02 03 04 05 06 07 08 09 10
## 4 3 15 17 28 61 54 107 216 225 299
base$PA3_03 <- as.numeric(base$PA3_03)
base$grupo_saludmental <- cut(
base$PA3_03,
breaks = c(01, 02, 03, 04, 05, 06, 07, 08, 09, 10),
labels = c("1", "2", "3", "4", "5", "6", "8", "9", "10")
)
freq_saludmental <- table(base$grupo_saludmental)
freq_saludmental
round(prop.table(freq_saludmental) * 100, 1)
grupos <- split(base$satisf_vida, base$grupo_saludmental)
res <- t(sapply(grupos, IC_media))
round(res, 2)
Construya también la gráfica correspondiente.
hist(base$PA3_03,
main = "Histograma 2. Satisfacción con salud mental
y emocional, en Tabasco, 2025",
xlab = "Nivel de satisfacción con
salud mental y emocional (0 a 10)",
ylab = "Frecuecias")
plot(
1:nrow(res),
res[, "media"],
ylim = c(6, 9.5),
xaxt = "n",
xlab = "Nivel de satisfacción con la salud mental y emocional",
ylab = "Satisfacción con la vida",
main = "Gráfica 7.Satisfacción con la vida según
la salud mental y emocional, Tabasco 2025",
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: Va disminuyendo. Que conforme baja el nivel de satisfacción con la vida, el nivel de satisfacción con la salud mental y emocional también disminuye
Hasta ahora hemos examinado posibles relaciones entre satisfacción con la vida y:
Complete la siguiente tabla.
| Posible factor | Variable utilizada | ¿Qué patrón descriptivo observó? |
|---|---|---|
| Sexo | sexo_f |
Las medias son muy cercanas y los intervalos muy estrechos. Redujimos el rango, para que se viera más de cerca (de 0-10, a 8-9). Los intervalos se cruzan, por lo que no hay diferencias significativas n las medias de la satisfacción de la vida entre hombres y mujeres |
| Curso de vida | grupo_edad |
Que va disminuyendo conforme avanzan los años (de 18 a 45), después se mantiene en ese nivel durante los proximos años (hasta 74) y posteriormete vuelve a subir un poco, en el intervalo de 75+ |
| Salud | salud_f |
Un nivel mayor de salud autopercibida, se relaciona con un nivel mayor de satisfacción con la vida |
| Soledad | soledad_f |
A menor percepción de soledad, se refiere mayor satisfacción con la vida |
| Capacidad económica | fin_mes_f |
A mayor capacidad del hogar para llegar a fin de mes, es mayor la satisfacción de vida |
| Confianza interpersonal | PF1_1 | Una mayor satisfacción de vida, está relacionada con un nivel mayor de confianza en las demás personas |
| Satisfacción con la salud mental y emocional | PA3_03 | Que conforme baja el nivel de satisfacción con la vida, el nivel de satisfacción con la salud mental y emocional también disminuye |
Observe conjuntamente sus resultados y gráficas.
Redacte un comentario de 200 a 250 palabras que responda:
Interpretación final:
Seleccione una gráfica que considere especialmente interesante.
Prepare para compartir:
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.
Al terminar esta práctica deberá poder:
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.