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/andyz/Desktop/clase del viernes/ll"
Defina ahora la carpeta en la que guardó la base correspondiente a su entidad.
setwd("C:/Users/andyz/Desktop/clase del viernes/ll")
Compruebe qué archivos se encuentran en esa carpeta.
list.files()
## [1] "AMBIENTE PRACTICA 2.RData"
## [2] "base_col.rds"
## [3] "instruccionnes practica 3.RData"
## [4] "nota_base_datos_enbiare_2025.txt"
## [5] "Practica_1_corregida.html"
## [6] "Practica_1_corregida.Rmd"
## [7] "Practica_2_ENAH_ENBIARE.html"
## [8] "Practica_2_ENAH_ENBIARE.Rmd"
## [9] "Practica_3_ENAH_ENBIARE_construccion_variables.Rmd"
## [10] "rsconnect"
## [11] "TENBIARE.csv"
## [12] "THOGAR.csv"
## [13] "TSDEM.csv"
## [14] "TVIVIENDA.csv"
Pregunta 1. ¿Cuál es su directorio de trabajo?
“C:/Users/andyz/Desktop/clase del viernes/ll”
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_col.rds")
Una vez leído el archivo, compruebe sus dimensiones.
dim(base)
## [1] 991 275
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)
## chr [1:991] "09" "08" "10" "08" "08" "10" "10" "07" "10" "10" "05" "10" ...
table(base$PA1, useNA = "ifany")
##
## 00 01 02 03 04 05 06 07 08 09 10
## 4 1 1 3 5 48 33 75 218 205 398
base$PA1 <-as.numeric(base$PA1)
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.642 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
## 991.000000 8.641776 8.542246 8.741306
table(base$SEXO, useNA = "ifany")
##
## 1 2
## 473 518
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
## 473 518
freq_sexo <- table(base$sexo_f)
freq_sexo
##
## Hombre Mujer
## 473 518
round(prop.table(freq_sexo) * 100, 1)
##
## Hombre Mujer
## 47.7 52.3
Complete:
| Sexo | n | % |
|---|---|---|
| Hombre | 473 | 47.7 |
| Mujer | 518 | 52.3 |
| Total | 991 | 100 |
tapply(
base$satisf_vida,
base$sexo_f,
mean,
na.rm = TRUE
)
## Hombre Mujer
## 8.718816 8.571429
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 473 8.72 8.56 8.87
## Mujer 518 8.57 8.44 8.70
plot(
1:nrow(res),
res[, "media"],
ylim = c(8,10),
xaxt = "n",
xlab = "Sexo",
ylab = "Satisfacción con la vida",
main = "grafica 1. satisfacción con la vida segun sexo, colima 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 semejantes entre hombres y mujeres. Los intervalos son pequeños. los intervalos se cruzan lo que quiere decir que no hay diferencias significativas
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 42.00 43.59 55.00 92.00
Ahora construiremos grupos de edad.
base$grupo_edad <- cut(
base$EDAD,
breaks = c(17, 29, 44, 59, 74, Inf),
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+
## 246 299 254 146 46
round(prop.table(freq_edad) * 100, 1)
##
## 18-29 30-44 45-59 60-74 75+
## 24.8 30.2 25.6 14.7 4.6
Pregunta 5. ¿Cuál es el grupo más numeroso? ¿Cuál es el menos numeroso?
Respuesta:El mas numeroso es el grupo de 30-44 años (299,30.2%) Menos numeroso es el grupo de 75+ (46, 4.6%)
Pregunta 6. ¿Qué ganamos y qué información perdemos al transformar la edad exacta en grupos de edad?
Respuesta: Ganamos que podemos comparar entre grupos de edad y perderdemos la variable cuantitativa y ahora es una variable categorica ordinal
grupos <- split(base$satisf_vida, base$grupo_edad)
res <- t(sapply(grupos, IC_media))
round(res, 2)
## n media LI LS
## 18-29 246 8.56 8.36 8.76
## 30-44 299 8.78 8.61 8.95
## 45-59 254 8.70 8.49 8.90
## 60-74 146 8.43 8.15 8.71
## 75+ 46 8.52 8.04 9.01
plot(
1:nrow(res),
res[, "media"],
ylim = c(8, 10),
xaxt = "n",
xlab = "Grupo de edad",
ylab = "Satisfacción con la vida",
main = "Grafica2.Satisfaccion con la vida según grupo de edad, COLIMA,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: Hubo mas variacion de respuestas en el grupo de 75+ y menos variabilidad en el grupo de 30-44. Esto puede explicar porque el grupo de 75+ tiene una muestra más pequeña. edades intermedias(30-44 y 45-49) tienen una mayor satisfaccion de vida.
PB1 corresponde a salud autopercibida.
Primero revise las categorías originales.
table(base$PB1, useNA = "ifany")
##
## 1 2 3 4 5
## 14 39 292 446 200
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
## 53 292 446 200
round(prop.table(freq_salud) * 100, 1)
##
## Mala Regular Buena Muy buena
## 5.3 29.5 45.0 20.2
Pregunta 8. ¿Cuál es la categoría de salud más frecuente?
Respuesta: La categoria BUENA es la mas frecuente con 446 (45%)
grupos <- split(base$satisf_vida, base$salud_4)
res <- t(sapply(grupos, IC_media))
round(res, 2)
## n media LI LS
## Mala 53 6.98 6.36 7.61
## Regular 292 8.22 8.02 8.42
## Buena 446 8.86 8.73 8.98
## Muy buena 200 9.21 9.03 9.40
plot(
1:nrow(res),
res[, "media"],
ylim = c(6,10),
xaxt = "n",
xlab = "Salud autopercibida",
ylab = "Satisfacción con la vida",
main ="Grafica 3. satisfaccion con la vida segun la salud autopercibida, colima 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?
Respuesta: A mejor salud autopercibida, mayor es la satisfaccion con la vida
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
## 549 230 132 42 38
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
## 549 230 132
## La mayor parte del tiempo Todo el tiempo
## 42 38
round(prop.table(freq_soledad) * 100, 1)
##
## Nunca Pocas veces Algunas veces
## 55.4 23.2 13.3
## La mayor parte del tiempo Todo el tiempo
## 4.2 3.8
grupos <- split(base$satisf_vida, base$soledad_f)
res <- t(sapply(grupos, IC_media))
round(res, 2)
## n media LI LS
## Nunca 549 9.01 8.89 9.12
## Pocas veces 230 8.49 8.30 8.68
## Algunas veces 132 7.89 7.58 8.21
## La mayor parte del tiempo 42 7.95 7.34 8.57
## Todo el tiempo 38 7.63 6.92 8.34
plot(
1:nrow(res),
res[, "media"],
ylim = c(6,10),
xaxt = "n",
xlab = "Frecuencia de soledad",
ylab = "Satisfacción con la vida",
main = "Grafica 4.Satisfacción con la vida según frecuencia de soledad, Colima 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?
Respuesta: Conforme aumenta la frecuencia de soledad hay masvariablidad en las respuestas en cuanto a la satisfaccion de la vida , además de que disminuye la satisfaccion con la vida si hay mayor fecuencia de soledad.
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
## 46 80 176 178 356 155
Pregunta 11. Escriba el significado de las
categorías de PC1.
Respuesta: Capacidad del hogar de llegar a fin de mes, 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,2,3,4,5,6),
labels = c("Mucha dificultad","Dificultad","Poca dificultad","Poca facilidad","Facilidad","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,10),
xaxt = "n",
xlab = "capacidad del hogar para llegar a fin de mes",
ylab = "Satisfacción con la vida",
main = "Grafica5. Satisfacción con la vida según capacidad economica, colima 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?
Respuesta: Entre mayor facilidad economica mayor satisfaccion con la 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:991] "08" "00" "03" "02" "01" "09" "00" "02" "05" "00" "00" "09" ...
table(base$PF1_1, useNA = "ifany")
##
## 00 01 02 03 04 05 06 07 08 09 10
## 187 39 84 97 61 193 83 111 92 20 24
base$confianza<- as.numeric(base$PF1_1)
str(base$confianza)
## num [1:991] 8 0 3 2 1 9 0 2 5 0 ...
table(base$confianza, useNA = "ifany")
##
## 0 1 2 3 4 5 6 7 8 9 10
## 187 39 84 97 61 193 83 111 92 20 24
Pregunta 13. De acuerdo con el descriptor, ¿cómo
está medida PF1_1?
Respuesta: Como caracter, a pesar de que son numeros
F1. En general, ¿cuánto confía en la mayoría de la gente?
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: Agrupar en 3 grupos 0, 1-5,6-10
Justificación: ambos grupos de confianza (media y alta) cubren rangos de igual amplitud (5 valores cada uno), lo cual facilita la interpretación y comparación y se vuelven más simetricos los grupos, ya que son muy variables el numero de respuestas en cada valor. Ademas de que facilita el resumen de 11 variables.
Construya la variable que utilizará, obtenga sus frecuencias absolutas y relativas y posteriormente calcule la satisfacción media y su IC95%.
base$nivel<- cut(
base$confianza,
breaks = c(-1, 0, 5, 10),
labels = c("Nada en absoluto", "confianza media", "confianza alta"),
ordered_result = TRUE
)
table(base$nivel)
##
## Nada en absoluto confianza media confianza alta
## 187 474 330
freq_confianza <- table(base$nivel)
freq_confianza
round(prop.table(freq_confianza)* 100, 1)
grupos <- split(base$satisf_vida, base$nivel)
res <- t(sapply(grupos, IC_media))
round(res, 2)
Construya también la gráfica correspondiente.
plot(
1:nrow(res),
res[, "media"],
ylim = c(8,10),
xaxt = "n",
xlab = "confianza en la gente",
ylab = "Satisfacción con la vida",
main = "Grafica 6. Satisfacción con la vida según confianza en la gente, colima 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: Las personas con una confianza alta en las personas tienen una mayor satisfaccion de vida.
Seleccione una variable adicional de ENBIARE que considere que podría estar relacionada con la satisfacción con la vida.
Antes de analizarla complete:
En las últimas cuatro semanas, ¿con qué frecuencia ha convivido con
su familia o acudido a reuniones familiares?
1 Nunca 2 Pocas veces 3 Algunas veces 4 La mayor parte del tiempo 5 Todo
el tiempo
Ahora siga la misma secuencia utilizada durante la práctica:
str(base$PE3_09)
## num [1:991] 4 4 3 4 5 5 5 4 5 3 ...
table(base$PE3_09,useNA = "ifany")
##
## 1 2 3 4 5
## 131 165 343 205 147
base$convivencia<- (base$PE3_09)
freq_convivencia<- table(base$convivencia)
freq_convivencia
##
## 1 2 3 4 5
## 131 165 343 205 147
round(prop.table(freq_convivencia)*100,1)
##
## 1 2 3 4 5
## 13.2 16.6 34.6 20.7 14.8
grupos <- split(base$satisf_vida, base$convivencia)
res <- t(sapply(grupos, IC_media))
round(res, 2)
plot(
1:nrow(res),
res[, "media"],
ylim = c(8,10),
xaxt = "n",
xlab = "convivencia con familia",
ylab = "Satisfacción con la vida",
main = "Grafica 7 Satisfacción con la vida según frecuencia de convivencia familiar, colima, 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: A mayor frecuencia en la convivencia con familia aunmento la satisfaccion con la vida
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 |
|
| Curso de vida | grupo_edad |
|
| Salud | salud_f |
|
| Soledad | soledad_f |
|
| Capacidad económica | fin_mes_f |
|
Confianza interpersonal nivel |
||
| convivencia familiar | convivencia |
Observe conjuntamente sus resultados y gráficas.
Redacte un comentario de 200 a 250 palabras que responda:
¿Qué variables parecen mostrar diferencias más claras en satisfacción con la vida?
¿En cuáles las medias parecen muy semejantes?
¿En alguna observa un posible gradiente?
¿Qué explicaciones sociales, culturales o demográficas podrían plantearse como hipótesis?
¿Qué aspectos importantes para comprender la satisfacción con la vida no pueden conocerse solamente mediante estas variables?
¿Qué podría aportar una aproximación cualitativa o etnográfica?
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.