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.
# Seleccionar la entidad
#base <- enbiare[enbiare$CVE_ENT == "11", ]
base <- readRDS("base_gto.rds")
# Comprobar
dim(base)
## [1] 1013 282
table(base$CVE_ENT)
##
## 11
## 1013
saveRDS(base,"gto.rds")
Comience revisando el directorio actual.
getwd()
## [1] "C:/Users/ACA A-111.INFORMATICA.000/Documents/gado/enbiare_2025_base_de_datos_csv"
Defina ahora la carpeta en la que guardó la base correspondiente a su entidad.
setwd( "C:/Users/ACA A-111.INFORMATICA.000/Documents/gado/enbiare_2025_base_de_datos_csv")
Compruebe qué archivos se encuentran en esa carpeta.
list.files()
## [1] "base_gto.rds"
## [2] "gto.rds"
## [3] "nota_base_datos_enbiare_2025.txt"
## [4] "Practica__1_FCPyS_ENBIARE_construccion_variables.html"
## [5] "Practica__1_FCPyS_ENBIARE_construccion_variables.Rmd"
## [6] "Practica_2_FCPyS_ENBIARE_pruebas_hipotesis.html"
## [7] "Practica_2_FCPyS_ENBIARE_pruebas_hipotesis.Rmd"
## [8] "prctica 1.R"
## [9] "rsconnect"
## [10] "TENBIARE.csv"
## [11] "THOGAR.csv"
## [12] "TSDEM.csv"
## [13] "TVIVIENDA.csv"
Pregunta 1. ¿Cuál es su directorio de trabajo?
Respuesta:”C:/Users/ACA A-111.INFORMATICA.000/Documents/gado/enbiare_2025_base_de_datos_csv”
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_gto.rds")
Una vez leído el archivo, compruebe sus dimensiones.
dim(base)
## [1] 1013 282
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:1013] "03" "10" "10" "10" "08" "09" "09" "09" "09" "09" "08" "08" ...
table(base$PA1, useNA = "ifany")
##
## 00 01 02 03 04 05 06 07 08 09 10
## 5 5 3 8 11 47 30 77 219 200 408
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.554 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
## 1013.000000 8.553801 8.444332 8.663269
table(base$SEXO, useNA = "ifany")
##
## 1 2
## 434 579
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
## 434 579
freq_sexo <- table(base$sexo_f)
freq_sexo
##
## Hombre Mujer
## 434 579
round(prop.table(freq_sexo) * 100, 1)
##
## Hombre Mujer
## 42.8 57.2
Complete:
| Sexo | n | % |
|---|---|---|
| Hombre | 434 | 42.8 |
| Mujer | 579 | 57.2 |
| Total | 1013 | 100 |
tapply(
base$satisf_vida,
base$sexo_f,
mean,
na.rm = TRUE
)
## Hombre Mujer
## 8.732719 8.419689
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 434 8.73 8.58 8.89
## Mujer 579 8.42 8.27 8.57
plot(
1:nrow(res),
res[, "media"],
ylim = c(8, 9),
xaxt = "n",
xlab = "Sexo",
ylab = "Satisfacción con la vida",
main = "Grafica.Satisfacción con la vida según sexo,Guanajuato 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 las de mujeres, sin embargo los intervalos se cruzan, por lo cual se infiere que en Guanajuato la media de satisfaccion de vida con la vida mo es significativamente diferente 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.17 57.00 90.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
## 15 18 24 10 16 14 21 19 24 23 18 19 25 18 13 17 28 27 15 20 22 26 16 23 21 18
## 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
## 18 29 17 19 18 21 18 16 18 13 17 13 21 16 14 13 12 11 8 13 15 13 15 11 8 9
## 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90
## 14 9 4 7 5 9 12 3 7 3 6 4 1 3 4 6 3 3 1 1 2
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+")
)
freq_edad <- table(base$grupo_edad)
freq_edad
##
## 18-29 30-44 45-59 60-74 75+
## 221 307 263 154 68
round(prop.table(freq_edad) * 100, 1)
##
## 18-29 30-44 45-59 60-74 75+
## 21.8 30.3 26.0 15.2 6.7
Pregunta 5. ¿Cuál es el grupo más numeroso? ¿Cuál es el menos numeroso?
Respuesta:El mas numeroso es el de 30-44 y el mas menos numeroso es el de 75+
Pregunta 6. ¿Qué ganamos y qué información perdemos al transformar la edad exacta en grupos de edad?
Respuesta:Una variable cuantitaviva la convertimos en categorias ordinal, ya no podemos obtener estadisticos descrptivos, ganamos que podemos comparar 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 221 8.64 8.44 8.85
## 30-44 307 8.74 8.56 8.92
## 45-59 263 8.41 8.18 8.64
## 60-74 154 8.55 8.28 8.83
## 75+ 68 8.01 7.39 8.64
plot(
1:nrow(res),
res[, "media"],
ylim = c(7.3, 9),
xaxt = "n",
xlab = "Grupo de edad",
ylab = "Satisfacción con la vida",
main = "Grafica 2.Satisfacción con la vida según grupo de edad,Guanajuato 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:No hay ninungun patron, y el intervalo del grupo +75 es mas amplio. Los numerosos de casos, los caules son menos a conparacion de los otros grupos.
PB1 corresponde a salud autopercibida.
Primero revise las categorías originales.
table(base$PB1, useNA = "ifany")
##
## 1 2 3 4 5
## 13 30 323 453 194
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
)
freq_salud <- table(base$salud_f)
freq_salud
##
## Muy mala Mala Regular Buena Muy buena
## 13 30 323 453 194
round(prop.table(freq_salud) * 100, 1)
##
## Muy mala Mala Regular Buena Muy buena
## 1.3 3.0 31.9 44.7 19.2
Pregunta 8. ¿Cuál es la categoría de salud más frecuente?
Respuesta:Buena
grupos <- split(base$satisf_vida, base$salud_f)
res <- t(sapply(grupos, IC_media))
round(res, 2)
## n media LI LS
## Muy mala 13 7.15 5.20 9.11
## Mala 30 6.53 5.45 7.62
## Regular 323 8.07 7.87 8.28
## Buena 453 8.75 8.60 8.89
## Muy buena 194 9.31 9.14 9.47
plot(
1:nrow(res),
res[, "media"],
ylim = c(5, 9.5),
xaxt = "n",
xlab = "Salud autopercibida",
ylab = "Satisfacción con la vida",
main = "Satisfacción con la vida según salud autopercibida, Guanajuato 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:
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
## 629 180 130 41 33
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
## 629 180 130
## La mayor parte del tiempo Todo el tiempo
## 41 33
round(prop.table(freq_soledad) * 100, 1)
##
## Nunca Pocas veces Algunas veces
## 62.1 17.8 12.8
## La mayor parte del tiempo Todo el tiempo
## 4.0 3.3
grupos <- split(base$satisf_vida, base$soledad_f)
res <- t(sapply(grupos, IC_media))
round(res, 2)
## n media LI LS
## Nunca 629 8.95 8.84 9.07
## Pocas veces 180 8.35 8.13 8.57
## Algunas veces 130 7.78 7.40 8.15
## La mayor parte del tiempo 41 7.63 6.93 8.34
## Todo el tiempo 33 6.27 5.33 7.22
plot(
1:nrow(res),
res[, "media"],
ylim = c(5.3, 9.1),
xaxt = "n",
xlab = "Frecuencia de soledad",
ylab = "Satisfacción con la vida",
main = "Satisfacción con la vida según frecuencia de soledad, Guanajuato 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:Mientras mnos soledad se perciba, mejor satisfaccion 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
## 59 152 181 206 309 106
Pregunta 11. Escriba el significado de las
categorías de PC1.
Respuesta: Con 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 dificulta",
"Con difulcutad",
"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.8, 9.3),
xaxt = "n",
xlab = "Capacidad Economica",
ylab = "Capacidad Economica",
main = "Satisfacción con la vida según la capacidad Economica, Guanajuato 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:Mientras mejor capacidad economica, mas satisfaccion con la vida. Peor capacidad economica, menor satisfaccion con la vida. Y son pocos datos en algunos casos, lo que no la hace tan confiable
PF1_1 se refiere a la confianza en la mayoría de la
gente.
Revise primero la variable.
str(base$PF1_1)
## chr [1:1013] "00" "10" "02" "05" "02" "08" "07" "05" "04" "02" "02" "04" ...
table(base$PF1_1, useNA = "ifany")
##
## 00 01 02 03 04 05 06 07 08 09 10
## 148 23 70 84 73 220 99 126 111 32 27
Pregunta 13. De acuerdo con el descriptor, ¿cómo
está medida PF1_1?
Respuesta:Es una variable alfanumerica en la base de datos en la que estamos trabajando, pero se puede considerar numerica
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:Vamos a conservar cada uno de los valores
Justificación:Porque al agruparlos se perderian los datos
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
## 148 23 70 84 73 220 99 126 111 32 27
round(prop.table(freq_confianza) * 100, 1)
##
## 00 01 02 03 04 05 06 07 08 09 10
## 14.6 2.3 6.9 8.3 7.2 21.7 9.8 12.4 11.0 3.2 2.7
grupos <- split(base$satisf_vida, base$confianza)
res <- t(sapply(grupos, IC_media))
round(res, 2)
## n media LI LS
## 00 148 8.33 7.97 8.69
## 01 23 7.78 6.82 8.75
## 02 70 8.30 7.85 8.75
## 03 84 8.26 7.86 8.66
## 04 73 8.18 7.76 8.59
## 05 220 8.75 8.54 8.96
## 06 99 8.62 8.36 8.87
## 07 126 8.64 8.34 8.95
## 08 111 8.86 8.61 9.12
## 09 32 9.28 8.81 9.75
## 10 27 8.63 7.59 9.67
Construya también la gráfica correspondiente.
Pregunta 14. ¿Qué relación descriptiva observa entre confianza interpersonal y satisfacción con la vida?
Respuesta:
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:
base$redes <- factor(
base$PI4_4,
levels = c(1,2),
labels = c("Si","No")
)
freq_redes <- table(base$redes)
freq_redes
##
## Si No
## 60 951
round(prop.table(freq_redes) * 100, 1)
##
## Si No
## 5.9 94.1
grupos <- split(base$satisf_vida, base$redes)
res <- t(sapply(grupos, IC_media))
round(res, 2)
## n media LI LS
## Si 60 8.00 7.55 8.45
## No 951 8.59 8.48 8.70
plot(
1:nrow(res),
res[, "media"],
ylim = c(7.50, 8.80),
xaxt = "n",
xlab = "afectacion en sus actividades por uso de redes sociales",
ylab = "Confianza en las personas",
main = "Grfica7, Satisfacción con la vida segun la afectacion en sus actividades debido al uso de redes sociales , Guanajuato 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
)
plot(
1:nrow(res),
res[, "media"],
ylim = c(7.50, 10),
xaxt = "n",
xlab = "Confianza en las personas",
ylab = "Confianza en las personas",
main = "Satisfacción con la vida según la confianza de las personas, Guanajuato 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:Que los que pusieron que “No” que tienen una mayor satisfaccion de 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 | ||
| Variable propia |
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.