En el presente trabajo, llevaremos a cabo un análisis detallado de una base de datos correspondiente a una encuesta telefónica realizada a 36,452 personas en Bogotá. Utilizaremos el lenguaje de programación R y la estructura de documentos R Markdown para llevar a cabo el análisis exploratorio y estadístico de las respuestas obtenidas.
El objetivo principal es aplicar los conceptos de medidas de tendencia central, dispersión, forma y asociación. También se incluirá la depuración de datos, identificación de valores atípicos, construcción de distribuciones de probabilidad (discretas y continuas), estimación por intervalo, y pruebas de hipótesis. Se analizarán términos clave como parámetro, margen de error, nivel de significancia, P-value y error de tipo I.
A través de este proceso, se busca comprender mejor los patrones sociodemográficos y económicos de los encuestados, así como identificar posibles relaciones entre variables.
El análisis se realizó siguiendo un enfoque cuantitativo basado en técnicas estadísticas y exploratorias aplicadas a la base de datos. La metodología empleada se desarrolló en las siguientes etapas:
Selección de la muestra: Se sembró una semilla con los últimos dígitos de nuestras cédulas para garantizar la replicabilidad y se seleccionó una muestra aleatoria de 995 registros. Todas las actividades del análisis se realizaron con esta muestra.
Carga y limpieza de datos: Se importó la base de datos utilizando R y se realizó una revisión de calidad de los datos, eliminando valores inconsistentes y manejando valores faltantes mediante técnicas de imputación o eliminación.
Clasificación de variables: Se identificaron las variables cualitativas y cuantitativas, señalando sus escalas de medición. Esto permitió definir los tipos de análisis a aplicar en cada caso.
Análisis univariado: Se calcularon distribuciones de frecuencia, medidas descriptivas como medias, medianas, desviaciones estándar y gráficos de representación (histogramas para variables numéricas y gráficos de barras para variables categóricas). También se identificó la proporción de fumadores en la muestra.
Análisis bivariado: Se exploraron relaciones entre variables clave como:
Inferencia estadística: Se realizaron pruebas de hipótesis para una muestra y dos muestras, tales como:
Aplicación del Teorema Central del Límite: Se estimó la probabilidad de que el promedio de ingresos de un individuo seleccionado al azar difiera de la media de la muestra.
Visualización y presentación de resultados: Se generaron tablas y gráficos interactivos para facilitar la interpretación y comunicación de los hallazgos.
Esta metodología permitió abordar el análisis de manera estructurada, asegurando la validez y confiabilidad de los resultados obtenidos.
Este análisis proporcionará una visión detallada de la información recopilada en la encuesta, contribuyendo a un mejor entendimiento de la dinámica sociodemográfica y económica en Bogotá.
A continuación, se describen las variables contenidas en el conjunto de datos, junto con su tipo y escala de medición:
| Variable | Descripción | Tipo de Variable | Tipo |
|---|---|---|---|
| id | Identificador único de la encuesta | Cualitativa | Nominal |
| ciudad | Ciudad de origen del encuestado | Cualitativa | Nominal |
| género | Género del encuestado | Cualitativa | Nominal |
| edad | Edad del encuestado | Cuantitativa | Razón |
| estado_civil | Estado civil del encuestado | Cualitativa | Nominal |
| fuma | Indica si el encuestado fuma (Sí/No) | Cualitativa | Nominal |
| ingresos | Ingresos mensuales en pesos | Cuantitativa | Razón |
| tiempo_viaje | Tiempo en minutos de casa al trabajo | Cuantitativa | Razón |
| gastos | Gastos mensuales en pesos | Cuantitativa | Razón |
Las librerías utilizadas en el análisis incluyen:
options(repos = c(CRAN = "https://cloud.r-project.org/"))
install.packages(c("readxl", "openxlsx", "ggplot2", "dplyr", "RColorBrewer", "kableExtra", "writexl", "moments", "knitr"))
library(readxl) # Para leer archivos Excel
library(ggplot2) # Para visualización de datos
library(dplyr) # Para manipulación de datos
library(RColorBrewer) # Para paletas de colores
library(kableExtra) # Para tablas en HTML
library(writexl) # Para exportar datos a Excel
library(moments) # Para análisis de momentos estadísticos
library(knitr) # Para generación de documentos en R Markdown
library(plotrix) # Para diagrámas de PieEl gráfico de dispersión no muestra una relación clara entre edad e ingresos, lo que puede explicarse por el costo de vida en Bogotá y la estructura del mercado laboral. Factores como la informalidad, la falta de incrementos salariales significativos con la experiencia y la estabilidad de ingresos en personas jubiladas generan que los ingresos se mantengan en un rango similar sin importar la edad. Además, muchas personas ajustan sus ingresos a los gastos básicos, y en sectores con alta empleabilidad, como el comercio y la educación, los salarios tienden a estabilizarse con el tiempo. Esto sugiere que en Bogotá la edad no es un factor determinante en el nivel de ingresos.
El análisis de los gráficos revela que más del 25% de la población encuestada fuma, con una diferencia de proporción entre géneros donde los hombres fuman un 2.6% más que las mujeres. Esta diferencia, aunque pequeña, podría explicarse por factores socioculturales, como una mayor normalización del consumo de tabaco en hombres.
Medellín y Bucaramanga presentan una mayor proporción de viudos, posiblemente debido a una población más envejecida en estas ciudades, donde la esperanza de vida y la estructura demográfica pueden influir en este estado civil. Por otro lado, Cali muestra una mayor proporción de personas divorciadas, lo que podría estar relacionado con dinámicas familiares y culturales que favorecen una mayor tasa de separación. Estos patrones podrían reflejar diferencias en la composición etaria de cada ciudad y en las tendencias sociales específicas de cada región.
El gráfico de dispersión muestra que no hay una relación clara entre el tiempo de viaje y los gastos, lo que indica que tanto personas con altos como bajos ingresos pueden experimentar tiempos de desplazamiento variables. Esto puede explicarse por la infraestructura vial y el transporte público, ya que una mala planificación de vías afecta a todos por igual, sin importar su nivel económico. Así, una persona con altos ingresos puede tardar lo mismo que alguien con bajos ingresos si ambos dependen de rutas congestionadas o mal diseñadas.
| Ciudad | Frecuencia |
|---|---|
| Barranquilla | 255 |
| Bogotá | 288 |
| Bucaramanga | 107 |
| Cali | 131 |
| Medellín | 214 |
Análisis: Las ciudades con mayor frecuencia, cómo Barranquilla, Bogotá y Medellín, indican claramente ciudades principales de Colombia, siendo la de mayor frecuencia la capital del País.
| Género | Frecuencia |
|---|---|
| H | 437 |
| M | 558 |
Análisis: Muestra que hay hombres y mujeres de manera equilibrada.
| Estado Civil | Frecuencia |
|---|---|
| Casado | 189 |
| Divorciado | 362 |
| Soltero | 281 |
| Viudo | 163 |
Análisis: Ser soltero o divorciado representa una proporción significativa de la muestra. Esto podría estar influenciado por factores culturales y sociales propios de Bogotá, donde las dinámicas de vida y las formas de relacionarse pueden fomentar tanto la independencia personal como dificultades en la convivencia. La tendencia a la reserva emocional o la falta de comunicación abierta en las relaciones podrían contribuir a desacuerdos que, con el tiempo, derivan en separaciones.
| Fuma | Frecuencia |
|---|---|
| No | 714 |
| Sí | 281 |
Análisis: Alrededor de 1 cada 4 personas en Bogotá fuma. Esto puede explicarse por el estrés de la vida urbana, la facilidad de acceso al tabaco y la normalización del hábito en ciertos entornos sociales. La presión laboral, la movilidad caótica y la cultura de la vida nocturna pueden fomentar el consumo, mientras que la exposición temprana en la adolescencia refuerza su continuidad en la adultez. A pesar de las campañas antitabaco, la percepción de riesgo sigue siendo baja en algunos grupos, lo que mantiene la prevalencia del hábito en la ciudad.
# Estadísticas descriptivas para variables cuantitativas
summary(muestra[, which(sapply(muestra, is.numeric))[-1]])## edad ingresos tiempo_viaje gastos
## Min. :18.00 Min. :1413737 Min. :20.00 Min. : 901131
## 1st Qu.:34.00 1st Qu.:1864834 1st Qu.:38.00 1st Qu.:1383233
## Median :52.00 Median :1999603 Median :55.00 Median :1511465
## Mean :50.11 Mean :1996948 Mean :55.22 Mean :1507616
## 3rd Qu.:67.00 3rd Qu.:2133414 3rd Qu.:73.00 3rd Qu.:1632160
## Max. :80.00 Max. :2566750 Max. :90.00 Max. :2024424
Análisis: Las distribuciones refuerzan varios puntos clave sobre la población analizada. La edad está bien distribuida entre jóvenes y adultos mayores, sin una tendencia clara hacia un solo grupo, lo que indica una muestra representativa de diferentes generaciones. Sin embargo, los ingresos y los gastos tienen distribuciones normales, lo que sugiere que la mayoría de las personas se concentran en valores promedio, con pocos extremos. Aun así, la cercanía entre ambas variables indica que gran parte de los ingresos se destinan al gasto, lo que limita el margen de ahorro. El tiempo de viaje es altamente variable, sin un patrón claro, lo que podría deberse a desigualdades en la infraestructura de transporte, donde algunos pueden acceder a vías eficientes mientras otros enfrentan largos desplazamientos. En conjunto, estos datos evidencian tanto estabilidad en términos económicos para la mayoría como la persistencia de desafíos en movilidad urbana y calidad de vida para otros.
##
## No Sí
## 0.7175879 0.2824121
Análisis: Aproximadamente el 25% de la población encuestada fuma. Este porcentaje es preocupante, considerando las campañas de salud pública y las regulaciones restrictivas sobre el tabaco.
# Histograma de edad
ggplot(muestra, aes(x = edad)) +
geom_histogram(color = "black", fill = "blue", bins = 30) +
labs(title = "Histograma de Edad", x = "Edad", y = "Frecuencia") +
theme_minimal()# Histograma de ingresos
ggplot(muestra, aes(x = ingresos)) +
geom_histogram(color = "black", fill = "green", bins = 30) +
labs(title = "Histograma de Ingresos", x = "Ingresos", y = "Frecuencia") +
theme_minimal()# Histograma de tiempo de viaje
ggplot(muestra, aes(x = tiempo_viaje)) +
geom_histogram(color = "black", fill = "red", bins = 30) +
labs(title = "Histograma de Tiempo de Viaje", x = "Minutos", y = "Frecuencia") +
theme_minimal()# Gráfico de barras para género
ggplot(muestra, aes(x = genero)) +
geom_bar(fill = "purple", color = "black") +
labs(title = "Distribución de Género", x = "Género", y = "Frecuencia") +
theme_minimal()# Gráfico de barras para ciudad
ggplot(muestra, aes(x = ciudad)) +
geom_bar(fill = "orange", color = "black") +
labs(title = "Distribución por Ciudad", x = "Ciudad", y = "Frecuencia") +
theme_minimal()# Gráfico de barras para estado civil
ggplot(muestra, aes(x = estado_civil)) +
geom_bar(fill = "cyan", color = "black") +
labs(title = "Estado Civil", x = "Estado Civil", y = "Frecuencia") +
theme_minimal()datos_fuma <- as.data.frame(table(muestra$fuma))
colnames(datos_fuma) <- c("Fuma", "Frecuencia")
ggplot(datos_fuma, aes(x = "", y = Frecuencia, fill = Fuma)) +
geom_bar(stat = "identity", width = 1) +
coord_polar("y", start = 0) +
labs(title = "Proporción de Fumadores") +
theme_void()# Gráfico de pastel para estado civil
datos_estado_civil <- as.data.frame(table(muestra$estado_civil))
colnames(datos_estado_civil) <- c("Estado_Civil", "Frecuencia")
ggplot(datos_estado_civil, aes(x = "", y = Frecuencia, fill = Estado_Civil)) +
geom_bar(stat = "identity", width = 1) +
coord_polar("y", start = 0) +
labs(title = "Distribución de Estado Civil") +
theme_void()# Género vs. Si fuma
ggplot(muestra, aes(x = genero, fill = fuma)) +
geom_bar(position = "fill") +
labs(title = "Proporción de Fumadores por Género", x = "Género", y = "Proporción") +
theme_minimal()# Estado civil vs. Si fuma
ggplot(muestra, aes(x = estado_civil, fill = fuma)) +
geom_bar(position = "fill") +
labs(title = "Proporción de Fumadores por Estado Civil", x = "Estado Civil", y = "Proporción") +
theme_minimal()library(nortest)
cat("La prueba lillie para probar normalidad con p>0.05 se muestra cierta ya que es: ",lillie.test(muestra$ingresos)$p.value)## La prueba lillie para probar normalidad con p>0.05 se muestra cierta ya que es: 0.7942128
talfamed <- qt(0.025,df = 994,lower.tail = FALSE);
xbarra <- mean(muestra$ingresos);
s <- sd(muestra$ingresos);
Ic_i <- xbarra-talfamed*s/sqrt(995);
Ic_s <- xbarra+talfamed*s/sqrt(995);
cat("La media de los ingresos ronda entre estos valores con un 95% de confianza: ",Ic_i,Ic_s)## La media de los ingresos ronda entre estos valores con un 95% de confianza: 1984781 2009115
ocurrencias <- sum(muestra$ingresos < 1984781)+sum(muestra$ingresos > 2009115)
cat("La probabilidad de que una persona al azar no tenga un ingreso que esté dentro de nuestro intervalo es del: ",ocurrencias/995)## La probabilidad de que una persona al azar no tenga un ingreso que esté dentro de nuestro intervalo es del: 0.9467337
# 1. PRUEBAS CON UNA MUESTRA
# a) Prueba t de una muestra para determinar si la media de edad es diferente de 40 años
lillie.test(muestra$edad)##
## Lilliefors (Kolmogorov-Smirnov) normality test
##
## data: muestra$edad
## D = 0.073515, p-value = 8.119e-14
Como la edad no se distribuye normalmente, no podemos hacer la prueba de hipótesis con prueba t.
# b) Prueba de proporciones para determinar si la proporción de fumadores es diferente de 0.2 (20%)
n_total <- nrow(muestra)
n_fumadores <- 281
prop_test <- prop.test(x = n_fumadores, n = n_total, p = 0.2, alternative = "two.sided", correct = FALSE)
cat("Prueba de proporciones para la proporción de fumadores vs 20%:", prop_test$p.value)## Prueba de proporciones para la proporción de fumadores vs 20%: 8.088958e-11
Como el p value es menor que 0.05, entonces puedes rechazar la hipótesis nula de que la proporción de fumadores es igual a 20%. Esto significaría que hay evidencia suficiente para concluir que la proporción de fumadores en la muestra es significativamente diferente de 20%.
# c) Prueba chi para la varianza de ingresos
# Hipotetizamos que la varianza de ingresos es igual a sigma0^2.
# Por ejemplo, supongamos sigma0^2 = 10000 (ajusta este valor según tu hipótesis).
n_ingreso <- length(muestra$ingresos)
var_ingreso <- var(muestra$ingresos)
sigma0_sq <- 35000000000
chi_stat <- (n_ingreso - 1) * var_ingreso / sigma0_sq
p_value_var <- 2 * min(pchisq(chi_stat, df = n_ingreso - 1), 1 - pchisq(chi_stat, df = n_ingreso - 1))
# Imprimir resultados
cat("Prueba chi para la varianza de ingresos (sigma0^2 =", sigma0_sq, "):\n")## Prueba chi para la varianza de ingresos (sigma0^2 = 3.5e+10 ):
## Estadístico chi-cuadrado: 1086.347
## Valor p: 0.04285395
Aunque estuvimos a punto de lograr demostrar la hipótesis nula, el valor p es menor que 0.05, entonces se rechaza, lo que significa que la varianza de los ingresos es significativamente diferente de 3.5e+10.
# a) Prueba t de dos muestras para comparar la media de ingresos entre hombres y mujeres
# Se asume que en la columna 'sexo' se tienen las etiquetas "Hombre" y "Mujer"
ingresos_hombres <- subset(muestra, genero == "H")$ingresos
ingresos_mujeres <- subset(muestra, genero == "M")$ingresos
t_test_ingresos <- t.test(ingresos_hombres, ingresos_mujeres, alternative = "two.sided", var.equal = FALSE)
cat("Prueba t de dos muestras para comparar ingresos entre hombres y mujeres:", t_test_ingresos$p.value)## Prueba t de dos muestras para comparar ingresos entre hombres y mujeres: 0.6857601
Un valor p de 0.6 es mayor a 0.05. Esto significa que no hay suficiente evidencia para rechazar la hipótesis nula de que las medias de ingresos de hombres y mujeres son iguales.
Es decir, con base en los datos disponibles, no se puede concluir que exista una diferencia significativa en los ingresos promedio entre hombres y mujeres.
# b) Prueba de proporciones para dos muestras para comparar la proporción de fumadores entre dos ciudades
# Asumimos que la variable 'ciudad' contiene al menos dos niveles, por ejemplo "CiudadA" y "CiudadB"
ciudadA <- subset(muestra, ciudad == "Bogotá")
ciudadB <- subset(muestra, ciudad == "Medellín")
exitos_ciudadA <- nrow(subset(muestra, ciudad == "Bogotá" & fuma == "Sí"))
n_ciudadA <- nrow(ciudadA)
exitos_ciudadB <- nrow(subset(muestra, ciudad == "Medellín" & fuma == "Sí"))
n_ciudadB <- nrow(ciudadB)
prop_test_ciudades <- prop.test(x = c(exitos_ciudadA, exitos_ciudadB),
n = c(n_ciudadA, n_ciudadB),
alternative = "two.sided",
correct = FALSE)
cat("Prueba de proporciones para comparar la proporción de fumadores entre Bogotá y Medellín es:", prop_test_ciudades$p.value)## Prueba de proporciones para comparar la proporción de fumadores entre Bogotá y Medellín es: 0.9523883
Como el p value es mayor que 0.05, entonces se comprueba la hipótesis nula de que la proporción de fumadores es igual en las dos ciudades.