Caso de estudio
Abril 2025
Caso de estudio
Una entidad gubernamental de transporte y bienestar social ha recopilado datos de ciudadanos para analizar cómo factores como el ingreso, el acceso al transporte, el estado civil y la educación impactan en su calidad de vida. Además, se estudia el efecto de una intervención en la salud de las personas a través de un programa de control de peso.
Objetivo de estudio
Evaluar la relación entre variables socioeconómicas, el uso del transporte público y el bienestar personal, medido en términos de peso, ingresos y nivel educativo
Datos demográficos
Datos económicos
Datos sobre trasnporte
Datos sobre Salud
Librerias
library(tidyverse) library(readxl) library(modeest) library(gridExtra)
Importar el set de datos
Datos3 <- read_xlsx("DATOS.xlsx")
rmarkdown::paged_table(Datos3)
Punto 1: Con base a las edades en la muestra, determine: media, mediana, moda, rango, percentiles 25, 50 y 75.
Datos3$EDAD %>% {c(summary(.), Mod = mlv(.))}
## Min. 1st Qu. Median Mean 3rd Qu. Max. Mod ## 19.00000 30.00000 39.00000 38.14773 48.00000 60.00000 37.56818
La edad de los ciudadanos encuestados oscila entre los 19 y 60 años; tanto la edad promedio como la más frecuente de los ciudadanos es de 38 años.
El 25% de los ciudadanos tienen 30 años o menos, el 50% tienen 39 años o menos y el 75% tiene a lo sumo 48 años.
Punto 2: Para los ingresos de los participantes, determine la media, desviación estandar, histograma y box-plot.
Datos3$INGRESO %>% {c(summary(.), Std = sd(.))}
## Min. 1st Qu. Median Mean 3rd Qu. Max. Std ## 500.000 720.000 1250.000 1796.364 2800.000 6000.000 1289.912
En promedio, un ciudadano tiene ingresos mensuales $1796.4 miles. La variabilidad media de los ingresos mensuales de los ciudadanos es de $1289.9 miles, la cual representa un 71.80% del ingreso medio (datos heterogéneos en esta variable).
El histogrma y boxplot de la variable muestran una distribución con sesgo positivo o hacia la derecha, además de que hay un ciudadano con ingresos de $6000 miles al mes, lo que estadísticamente se considera atípico.
Punto 2: Para los ingresos de los participantes, determine la media, desviación estandar, histograma y box-plot.
G1 <- Datos3 %>% ggplot(aes(INGRESO)) +
geom_histogram(bins = 7, color = "blue", fill = NA) +
xlab("Ingresos ($miles/mes)") +
ylab("Cantidad de personas") +
ggtitle("Histograma de los ingresos mensuales de los ciudadanos") +
theme_bw() + theme(plot.title = element_text(size = 8),
axis.title = element_text(size = 7),
axis.text = element_text(size = 7))
G2 <- Datos3 %>% ggplot(aes(y = INGRESO)) +
geom_boxplot(color = "blue", fill = NA) +
ylab("Ingresos ($miles/mes)") +
ggtitle("Box-plot de los ingresos mensuales de los ciudadanos") +
theme_bw() + theme(plot.title = element_text(size = 8),
axis.title = element_text(size = 7),
axis.text = element_text(size = 7),
axis.text.x = element_blank(),
axis.ticks.x = element_blank())
Punto 2: Para los ingresos de los participantes, determine la media, desviación estandar, histograma y box-plot.
grid.arrange(G1, G2, ncol = 2, nrow = 1)
Punto 3: Para los gastos mensuales entre los participantes, determine la media, desviasión estandar, histograma y box-plot (diagrama de caja)
Datos3$GASTOS %>% {c(summary(.), Std = sd(.))}
## Min. 1st Qu. Median Mean 3rd Qu. Max. Std ## 400.000 687.500 1100.000 1522.159 2000.000 5500.000 1123.696
En promedio, un ciudadano gasta $1522.2 miles al mes. La variabilidad media de los gastos mensuales de los ciudadanos es de $1123.7 miles, la cual representa un 73.82% del ingreso medio (datos heterogéneos en esta variable).
El histograma y boxplot de la variable muestran una distribución con sesgo positivo o hacia la derecha, además de que hay un ciudadano con gastos de $5500 miles al mes, lo que estadísticamente se considera atípico.
Punto 3: Para los gastos mensuales entre los participantes, determine la media, desviasión estandar, histograma y box-plot (diagrama de caja)
G3 <- Datos3 %>% ggplot(aes(GASTOS)) +
geom_histogram(bins = 7, color = "blue", fill = NA) +
xlab("Gastos ($miles/mes)") +
ylab("Cantidad de personas") +
ggtitle("Histograma de los gastos mensuales de los ciudadanos") +
theme_bw() + theme(plot.title = element_text(size = 8),
axis.title = element_text(size = 7),
axis.text = element_text(size = 7))
G4 <- Datos3 %>% ggplot(aes(y = GASTOS)) +
geom_boxplot(color = "blue", fill = NA) +
ylab("Gastos ($miles/mes)") +
ggtitle("Box-plot de los gastos mensuales de los ciudadanos") +
theme_bw() + theme(plot.title = element_text(size = 8),
axis.title = element_text(size = 7),
axis.text = element_text(size = 7),
axis.text.x = element_blank(),
axis.ticks.x = element_blank())
Punto 3: Para los gastos mensuales entre los participantes, determine la media, desviasión estandar, histograma y box-plot (diagrama de caja)
grid.arrange(G3, G4, ncol = 2, nrow = 1)
Punto 4: ¿Cuál es la proporción de hombres y mujeres en la muestra? Realice el diagrama de barras y de sectores.
df_prop <- Datos3 %>% count(GENERO) %>%
mutate(prop = n / sum(n),
lbl = scales::percent(prop, accuracy = 0.1)) %>% arrange(-prop)
df_prop %>% data.frame()
## GENERO n prop lbl ## 1 HOMBRE 44 0.5 50.0% ## 2 MUJER 44 0.5 50.0%
La muestra de ciudadanos está balanceada en cuanto a proporción de hombres y mujeres, ya que estas dos son iguales (50 y 50)
Punto 4: ¿Cuál es la proporción de hombres y mujeres en la muestra? Realice el diagrama de barras y de sectores.
G5 <- ggplot(df_prop, aes(x = GENERO, y = n)) +
geom_bar(stat = "identity", color = c("blue", "green"), fill = NA) +
geom_label(aes(label = scales::percent(prop, accuracy = 0.1), y = n / 2),
fill = NA, color = c("blue", "green"), size = rel(4), fontface = "bold") +
xlab("Género") + ylab("Cantidad de personas") +
ggtitle("Distribución por Género") + theme_bw() +
theme(plot.title = element_text(size = 8),
axis.title = element_text(size = 7),
axis.text = element_text(size = 7))
G6 <- ggplot(df_prop, aes(x = "", y = prop, fill = GENERO)) +
geom_bar(stat = "identity", width = 1, color = "white") +
coord_polar("y", start = 0) +
geom_label(aes(label = lbl, y = cumsum(prop) - prop / 2),
fill = NA, color = "white", size = rel(3), fontface = "bold") +
theme_void() +
ggtitle("Distribución por Género") +
theme(plot.title = element_text(hjust = 0.5))
Punto 4: ¿Cuál es la proporción de hombres y mujeres en la muestra? Realice el diagrama de barras y de sectores.
grid.arrange(G5, G6, ncol = 2, nrow = 1)
Punto 5: ¿Cuáles son las categorías más comunes en el nivel educativo de la población? Compruébelo a partir de una gráfica de barras.
df_prop2 <- Datos3 %>% count(NIVEL_EDUCATIVO) %>%
mutate(prop = n / sum(n),
lbl = scales::percent(prop, accuracy = 0.1)) %>% arrange(-prop)
df_prop2 %>% data.frame()
## NIVEL_EDUCATIVO n prop lbl ## 1 PRIMARIA 20 0.2272727 22.7% ## 2 TECNICO 20 0.2272727 22.7% ## 3 UNIVERSITARIO 20 0.2272727 22.7% ## 4 POSTGRADO 18 0.2045455 20.5% ## 5 BACHILLER 10 0.1136364 11.4%
Los ciudadanos con primaria, técnico y universitario en su nivel educativo son los más comúnes. Estas tres categorías tienen la misma proporción en la muestra (22,7%) y en conjunto acumulan el 68,18%
Punto 5: ¿Cuáles son las categorías más comunes en el nivel educativo de la población? Compruébelo a partir de una gráfica de barras.
G7 <- ggplot(df_prop2, aes(x = NIVEL_EDUCATIVO, y = n, color = factor(NIVEL_EDUCATIVO))) +
geom_bar(stat = "identity", fill = NA) +
geom_label(aes(label = scales::percent(prop, accuracy = 0.1), y = n / 2),
fill = NA, color = "#566573", size = rel(3), fontface = "bold") +
xlab("Nivel educativo") + ylab("Cantidad de personas") +
ggtitle("Distribución por nivel educativo") + theme_bw() +
theme(plot.title = element_text(size = 10),
axis.title = element_text(size = 7),
axis.text = element_text(size = 7),
legend.position = "none")
Punto 5: ¿Cuáles son las categorías más comunes en el nivel educativo de la población? Compruébelo a partir de una gráfica de barras.
G7
Punto 6: ¿Qué porcentaje de la población tiene vivienda propia? Realice un gráfico de pastel
df_prop3 <- Datos3 %>% count(VIVIENDA) %>%
mutate(prop = n / sum(n),
lbl = scales::percent(prop, accuracy = 0.1)) %>% arrange(-prop)
df_prop3 %>% data.frame()
## VIVIENDA n prop lbl ## 1 SI 48 0.5454545 54.5% ## 2 NO 40 0.4545455 45.5%
El 54.5% de los ciudadanos posee vivienda propia.
Punto 6: ¿Qué porcentaje de la población tiene vivienda propia? Realice un gráfico de pastel
G8 <- ggplot(df_prop3, aes(x = "", y = prop, fill = VIVIENDA)) +
geom_bar(stat = "identity", width = 1, color = "white") +
coord_polar("y", start = 0) +
geom_label(aes(label = lbl, y = cumsum(prop) - prop / 2),
fill = NA, color = "white", size = rel(3), fontface = "bold") +
theme_void() + ggtitle("Población que tiene vivienda propia") +
theme(plot.title = element_text(hjust = 0.5))
Punto 6: ¿Qué porcentaje de la población tiene vivienda propia? Realice un gráfico de pastel
G8
Punto 7: ¿Cuál es la variabilidad en el tiempo de recorrido en transporte público? Determine el Coeficiente de variación
Datos3 %>% summarise(Media = round(mean(TIEMPO_RECORRIDO),2),
Desv_est = round(sd(TIEMPO_RECORRIDO),2),
Coef_var = round(sd(TIEMPO_RECORRIDO)/mean(TIEMPO_RECORRIDO),4)) %>%
data.frame()
## Media Desv_est Coef_var ## 1 30.25 11.27 0.3725
Los ciudadanos encuestados tardan en promedio 30.25 minutos viajando en transporte público. La variabilidad de estos tiempos es de 11.27 minutos la cual representa un 37,25% del promedio (Variable poco homogénea)
Punto 1: ¿El promedio de edad de la muestra es significativamente menor de 35 años? (asuma normalidad)
X: edad del ciudadano (años)
Se asume que X~Normal
\(H_0: \mu \geq 35\)
\(H_1: \mu < 35\)
Datos3$EDAD %>% t.test(x = ., alternative = "less", mu = 35)
## ## One Sample t-test ## ## data: . ## t = 2.5412, df = 87, p-value = 0.9936 ## alternative hypothesis: true mean is less than 35 ## 95 percent confidence interval: ## -Inf 40.20713 ## sample estimates: ## mean of x ## 38.14773
Punto 1: ¿El promedio de edad de la muestra es significativamente menor de 35 años? (asuma normalidad)
Como el valor-p del test es mayor al 5%, no se rechaza \(H_0\).
A un nivel de significancia del 5%, no hay suficiente evidencia estadística para poder afirmar que la edad media de los ciudadanos es significativamente menor a los 35 años.
Punto 2: ¿El ingreso medio de los participantes es significativamente mayor a 1000? (asuma normalidad)
X: ingreso del ciudadano (miles de $ / mes)
Se asume que X~Normal
\(H_0: \mu \leq 1000\)
\(H_1: \mu > 1000\)
Datos3$INGRESO %>% t.test(x = ., alternative = "greater", mu = 1000)
## ## One Sample t-test ## ## data: . ## t = 5.7915, df = 87, p-value = 5.438e-08 ## alternative hypothesis: true mean is greater than 1000 ## 95 percent confidence interval: ## 1567.754 Inf ## sample estimates: ## mean of x ## 1796.364
Punto 2: ¿El ingreso medio de los participantes es significativamente mayor a 1000? (asuma normalidad)
Como el valor-p del test es menor al 1%, se rechaza \(H_0\)
A un nivel de significancia del 1%, la evidencia estadística indica que el ingreso medio mensual de los ciudadanos es significativamente mayor a los $1000 miles
Punto 3: ¿El gasto medio de los participantes es significativamente distinto a 1500? (asuma normalidad)
X: gasto del ciudadano (miles de $ / mes)
Se asume que X~Normal
\(H_0: \mu = 1500\)
\(H_1: \mu \neq 1500\)
Datos3$GASTOS %>% t.test(x = ., alternative = "two.sided", mu = 1500)
## ## One Sample t-test ## ## data: . ## t = 0.18499, df = 87, p-value = 0.8537 ## alternative hypothesis: true mean is not equal to 1500 ## 95 percent confidence interval: ## 1284.071 1760.248 ## sample estimates: ## mean of x ## 1522.159
Punto 3: ¿El gasto medio de los participantes es significativamente distinto a 1500? (asuma normalidad)
Como el valor-p del test es mayor al 5%, no se rechaza \(H_0\)
A un nivel de significancia del 5%, no hay suficiente evidencia estadística para poder afirmar que el gasto medio mensual de los ciudadanos difiera significativamente de los $1500 miles.
Punto 4: ¿La calificación del servicio de transporte sigue una distribución normal? (Prueba de normalidad: Shapiro-Wilk)
No es posible realizar un test de normalidad sobre una variable categórica nominal
Punto 5: ¿El tiempo recorrido de transporte sigue una distribución normal? (Prueba de normalidad: Shapiro-Wilk)
X: tiempo de recorrido de transporte (minutos)
\(H_0: X \sim Normal\)
\(H_1: X \nsim Normal\)
Datos3$TIEMPO_RECORRIDO %>% shapiro.test()
## ## Shapiro-Wilk normality test ## ## data: . ## W = 0.95669, p-value = 0.005043
Punto 5: ¿El tiempo recorrido de transporte sigue una distribución normal? (Prueba de normalidad: Shapiro-Wilk)
Como el valor-p de la prueba es menor al 1%, se rechaza \(H_0\)
A un nivel de significancia del 1%, la evidencia estadística indica que la variable Tiempo de recorrido de transporte no sigue una distribución normal.
Punto 6: ¿Existe evidencia estadística de que el género influye en el tiempo de recorrido? (Prueba t para dos muestras independientes)
Xm: tiempo de recorrido de transporte de una mujer (minutos)
Xh: tiempo de recorrido de transporte de un hombre (minutos)
Se asume que Xm y Xh se distribuyen de forma normal y sus varianzas poblacionales son iguales (\(\sigma_m^2 = \sigma_h^2\))
\(H_0: \mu_m = \mu_h\)
\(H_1: \mu_m \neq \mu_h\)
X_m <- Datos3 %>% filter(GENERO == "MUJER") %>% pull(TIEMPO_RECORRIDO) X_h <- Datos3 %>% filter(GENERO == "HOMBRE") %>% pull(TIEMPO_RECORRIDO) t.test(x = X_m, y = X_h, alternative = "two.sided", mu = 0, var.equal = TRUE)
Punto 6: ¿Existe evidencia estadística de que el género influye en el tiempo de recorrido? (Prueba t para dos muestras independientes)
## ## Two Sample t-test ## ## data: X_m and X_h ## t = 0.60319, df = 86, p-value = 0.548 ## alternative hypothesis: true difference in means is not equal to 0 ## 95 percent confidence interval: ## -3.339215 6.248306 ## sample estimates: ## mean of x mean of y ## 30.97727 29.52273
Como el valor-p de la prueba es mayor al 5%, no se rechaza \(H_0\)
A un nivel de significancia del 5%, no hay suficiente evidencia estadística que indique que el género influya significativamente en el tiempo de recorrido en transporte público.
Punto 7: ¿El porcentaje de personas con vivienda propia es significativamente mayor al 50%? (Prueba de proporciones)
P: proporción de ciudadanos con vivienda propia
\(H_0: P \leq 50\%\)
\(H_1: P > 50\%\)
x <- Datos3 %>% filter(VIVIENDA == "SI") %>% nrow() n <- nrow(Datos3) prop.test(x = x, n = n, alternative = "greater")
## ## 1-sample proportions test with continuity correction ## ## data: x out of n, null probability 0.5 ## X-squared = 0.55682, df = 1, p-value = 0.2278 ## alternative hypothesis: true p is greater than 0.5 ## 95 percent confidence interval: ## 0.4524983 1.0000000 ## sample estimates: ## p ## 0.5454545
Punto 7: ¿El porcentaje de personas con vivienda propia es significativamente mayor al 50%? (Prueba de proporciones)
Como el valor-p del test es mayor al 5%, no se rechaza \(H_0\)
A un nivel de significancia del 5%, no hay sufueciente evidencia estadística para poder afirmar que la proporción de ciudadanos con vivienda propia sea significativamente mayor al 50%
Punto 8: ¿La distribución de los gastos es significativamente diferente de una distribución normal? (Prueba de Kolmogorov-Smirnov)
X: gasto del ciudadano (miles de $ / mes)
\(H_0: X \sim Normal\)
\(H_1: X \nsim Normal\)
ks.test(x = Datos3$GASTOS, "pnorm")
## ## Asymptotic one-sample Kolmogorov-Smirnov test ## ## data: Datos3$GASTOS ## D = 1, p-value < 2.2e-16 ## alternative hypothesis: two-sided
Punto 8: ¿La distribución de los gastos es significativamente diferente de una distribución normal? (Prueba de Kolmogorov-Smirnov)
Como el valor-p de la prueba es menor al 1%, se rechaza \(H_0\)
A un nivel de significancia del 1%, la evidencia estadística indica que la variable gastos mensuales difiere significativamente de una distribución normal.