José Cardona
Ana Farah
Fernando Manjarres
Lorenzo Angulo
Kiara Molina
Planteamiento del problema:
¿Existe alguna relacion entre cierto tipo de factores, ya sea de carácter social, economico, de salud, y el gasto mensual en bebidas azucaradas, luego de haberse implementado el impuesto en Colombia?
Analizar la relación entre factores sociales, económicos y de salud con el gasto mensual en bebidas azucaradas en personas entre 15 y 75 años, luego de la implementación del impuesto en Colombia.
El siguiente análisis nos permitirá observar de qué manera interactúan las variables estrato socio-economico y el nivel de conciencia en salud, lo que nos da luces a comprender de manera mucho mas detallada cuáles son realmente las dinamicas asociadas al consumo de bebidas azucaradas cuando se trata de personas con condiciones sociales y economicas divergentes, mismas que son producto de una serie de oportunidades y disposiciones sociales, economicas y politicas puestas en práctica en determinado grupo. Asimismo, esta serie de disposiciones enrutan un comportamiento autoreflexivo, o considerativo, en tanto que los individuos nos vemos expuestos a una serie de conocimientos, ideas y constructos promovidos por el contexto social en el que cohabitamos. La conciencia es producto de las influencias y barreras materiales y culturales, generando en las personas una respuesta “autoreflexiva” e inducida hacia el estimulo que genera una bebida azucarada.
Clasifique cada una de las variables de la base de datos acuerdo con su naturaleza y nivel de medición.
Se analizarán variables categóricas y númericas.
Instalar y cargar paquetes necesarios
#Codigo aquí
library(dplyr)# Manipulación de Datos
##
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
##
## filter, lag
## The following objects are masked from 'package:base':
##
## intersect, setdiff, setequal, union
library(ggplot2)# Visualización de datos
library(readxl)# Importación de datos
library(tibble)# Tablas
library(readr) #Para cargar la base de datos
Cargar base de datos:
Nombrar base datos:
datos <- read.csv("base_bebidas_azucaradas.csv")
Nombres de variables
names(datos)
## [1] "edad" "sexo"
## [3] "estrato" "ingreso_mensual"
## [5] "gasto_bebidas_antes" "gasto_bebidas_despues"
## [7] "consume_bebidas_azucaradas" "frecuencia_consumo_bebidas"
## [9] "preferencia_bebidas" "nivel_conciencia_salud"
## [11] "realiza_actividad_fisica" "imc"
## [13] "diagnostico_diabetes" "presion_alta"
## [15] "percepcion_impuesto" "ha_cambiado_habito"
Dimesiones de la base de datos
dim(datos)
## [1] 400 16
Mostrar las primeras filas de la base de datos
head(datos)
## edad sexo estrato ingreso_mensual gasto_bebidas_antes
## 1 53 Femenino 3 1557312 114059
## 2 66 Femenino 1 1029382 53719
## 3 43 Femenino 2 2103256 132084
## 4 29 Masculino 2 1135667 161231
## 5 57 Masculino 3 827640 70832
## 6 22 Masculino 3 1909214 101930
## gasto_bebidas_despues consume_bebidas_azucaradas frecuencia_consumo_bebidas
## 1 92506 Si Nunca
## 2 66152 Si Ocasional
## 3 112363 Si Frecuente
## 4 125089 Si Ocasional
## 5 56819 Si Ocasional
## 6 91723 Si Ocasional
## preferencia_bebidas nivel_conciencia_salud realiza_actividad_fisica imc
## 1 Te azucarado 10 Si 26.12429
## 2 Jugos industriales 3 Si 24.49773
## 3 Gaseosa 9 Si 29.04204
## 4 Jugos industriales 4 Si 39.82990
## 5 Te azucarado 3 No NA
## 6 Energizantes 2 Si 21.79144
## diagnostico_diabetes presion_alta percepcion_impuesto ha_cambiado_habito
## 1 No No Negativa Si
## 2 No No Negativa No
## 3 No No Negativa Si
## 4 No No Positiva Si
## 5 No No Positiva Si
## 6 No Si Negativa Si
Tipos de datos
str(datos)
## 'data.frame': 400 obs. of 16 variables:
## $ edad : int 53 66 43 29 57 22 35 53 72 33 ...
## $ sexo : chr "Femenino" "Femenino" "Femenino" "Masculino" ...
## $ estrato : int 3 1 2 2 3 3 2 3 3 1 ...
## $ ingreso_mensual : num 1557312 1029382 2103256 1135667 827640 ...
## $ gasto_bebidas_antes : num 114059 53719 132084 161231 70832 ...
## $ gasto_bebidas_despues : num 92506 66152 112363 125089 56819 ...
## $ consume_bebidas_azucaradas: chr "Si" "Si" "Si" "Si" ...
## $ frecuencia_consumo_bebidas: chr "Nunca" "Ocasional" "Frecuente" "Ocasional" ...
## $ preferencia_bebidas : chr "Te azucarado" "Jugos industriales" "Gaseosa" "Jugos industriales" ...
## $ nivel_conciencia_salud : int 10 3 9 4 3 2 10 9 4 3 ...
## $ realiza_actividad_fisica : chr "Si" "Si" "Si" "Si" ...
## $ imc : num 26.1 24.5 29 39.8 NA ...
## $ diagnostico_diabetes : chr "No" "No" "No" "No" ...
## $ presion_alta : chr "No" "No" "No" "No" ...
## $ percepcion_impuesto : chr "Negativa" "Negativa" "Negativa" "Positiva" ...
## $ ha_cambiado_habito : chr "Si" "No" "Si" "Si" ...
datos$sexo <- as.factor(datos$sexo)
datos$consume_bebidas_azucaradas <- as.factor(datos$consume_bebidas_azucaradas)
datos$frecuencia_consumo_bebidas <- as.factor(datos$frecuencia_consumo_bebidas)
datos$preferencia_bebidas <- as.factor(datos$preferencia_bebidas)
datos$realiza_actividad_fisica <- as.factor(datos$realiza_actividad_fisica)
datos$diagnostico_diabetes <- as.factor(datos$diagnostico_diabetes)
datos$presion_alta <- as.factor(datos$presion_alta)
datos$percepcion_impuesto <- as.factor(datos$percepcion_impuesto)
datos$ha_cambiado_habito <- as.factor(datos$ha_cambiado_habito)
vars_categoricas <- c("sexo", "consume_bebidas_azucaradas",
"frecuencia_consumo_bebidas", "preferencia_bebidas",
"realiza_actividad_fisica", "diagnostico_diabetes",
"presion_alta", "percepcion_impuesto", "ha_cambiado_habito")
datos[vars_categoricas] <- lapply(datos[vars_categoricas], as.factor)
str(datos)
## 'data.frame': 400 obs. of 16 variables:
## $ edad : int 53 66 43 29 57 22 35 53 72 33 ...
## $ sexo : Factor w/ 3 levels "Femenino","Masculino",..: 1 1 1 2 2 2 2 3 2 1 ...
## $ estrato : int 3 1 2 2 3 3 2 3 3 1 ...
## $ ingreso_mensual : num 1557312 1029382 2103256 1135667 827640 ...
## $ gasto_bebidas_antes : num 114059 53719 132084 161231 70832 ...
## $ gasto_bebidas_despues : num 92506 66152 112363 125089 56819 ...
## $ consume_bebidas_azucaradas: Factor w/ 2 levels "No","Si": 2 2 2 2 2 2 2 2 2 2 ...
## $ frecuencia_consumo_bebidas: Factor w/ 4 levels "Diario","Frecuente",..: 3 4 2 4 4 4 1 1 3 2 ...
## $ preferencia_bebidas : Factor w/ 4 levels "Energizantes",..: 4 3 2 3 4 1 3 1 1 1 ...
## $ nivel_conciencia_salud : int 10 3 9 4 3 2 10 9 4 3 ...
## $ realiza_actividad_fisica : Factor w/ 2 levels "No","Si": 2 2 2 2 1 2 1 2 2 2 ...
## $ imc : num 26.1 24.5 29 39.8 NA ...
## $ diagnostico_diabetes : Factor w/ 2 levels "No","Si": 1 1 1 1 1 1 1 1 1 1 ...
## $ presion_alta : Factor w/ 2 levels "No","Si": 1 1 1 1 1 2 1 1 2 2 ...
## $ percepcion_impuesto : Factor w/ 3 levels "Indiferente",..: 2 2 2 3 3 2 1 2 1 1 ...
## $ ha_cambiado_habito : Factor w/ 2 levels "No","Si": 2 1 2 2 2 2 1 1 2 2 ...
summary(datos)
## edad sexo estrato ingreso_mensual
## Min. :15.00 Femenino :195 Min. :1.000 Min. : 200000
## 1st Qu.:30.00 Masculino:183 1st Qu.:2.000 1st Qu.: 652433
## Median :46.00 Otro : 22 Median :3.000 Median :1233871
## Mean :44.88 Mean :2.625 Mean :1237573
## 3rd Qu.:59.25 3rd Qu.:3.000 3rd Qu.:1718967
## Max. :74.00 Max. :6.000 Max. :3550202
## NA's :20
## gasto_bebidas_antes gasto_bebidas_despues consume_bebidas_azucaradas
## Min. : 5000 Min. : 0 No: 20
## 1st Qu.: 68851 1st Qu.: 49361 Si:380
## Median :104078 Median : 81786
## Mean :101931 Mean : 83591
## 3rd Qu.:133070 3rd Qu.:112447
## Max. :236543 Max. :238772
##
## frecuencia_consumo_bebidas preferencia_bebidas nivel_conciencia_salud
## Diario : 58 Energizantes :105 Min. : 1.000
## Frecuente:144 Gaseosa :101 1st Qu.: 3.000
## Nunca : 40 Jugos industriales: 94 Median : 6.000
## Ocasional:158 Te azucarado :100 Mean : 5.603
## 3rd Qu.: 8.000
## Max. :10.000
##
## realiza_actividad_fisica imc diagnostico_diabetes presion_alta
## No:155 Min. :12.80 No:342 No:318
## Si:245 1st Qu.:22.56 Si: 58 Si: 82
## Median :26.25
## Mean :26.17
## 3rd Qu.:29.82
## Max. :39.83
## NA's :15
## percepcion_impuesto ha_cambiado_habito
## Indiferente: 86 No: 41
## Negativa :193 Si:359
## Positiva :121
##
##
##
##
No existen datos con suficiente margen de atipicidad para impactar o alterar a la distribucion ligeramente equilibrada de los datos obtenidos del muestreo que se realizó.
Tabla edad
#tabla 1
tabla_edad <- table(datos$edad)
print(tabla_edad)
##
## 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
## 8 11 8 6 4 6 7 9 8 1 8 4 3 7 8 7 4 6 5 7 5 5 6 12 8 8
## 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66
## 5 9 6 4 2 10 11 3 11 7 8 3 11 7 7 7 2 11 5 1 5 8 9 3 6 10
## 67 68 69 70 71 72 73 74
## 6 6 7 4 7 6 9 13
Representacion en Boxplot del ingreso mensual
# Desactivar notación científica
options(scipen=999)
# Generar boxplot sin valores extremos
boxplot(datos$ingreso_mensual, horizontal=TRUE, col='cadetblue4',
main="Boxplot de Ingreso Mensual (Sin Valores Extremos)",
outline=FALSE) # Esto elimina los valores atípicos visualmente
Representacion en histograma del ingreso mensual
ggplot(datos, aes(x = ingreso_mensual)) +
geom_histogram(bins = 10, fill = "cyan4", color = "black", alpha = 0.7) +
labs(title = "Distribucion del Ingreso Mensual", x = "Ingreso Mensual", y = "Frecuencia") +
theme_minimal()
## Warning: Removed 20 rows containing non-finite outside the scale range
## (`stat_bin()`).
Tabla estrato
tabla_estrato <- table(datos$estrato)
print(tabla_estrato)
##
## 1 2 3 4 5 6
## 86 105 124 50 28 7
Tabla sexo
tabla_sexo <- table(datos$sexo)
print(tabla_sexo)
##
## Femenino Masculino Otro
## 195 183 22
Tabla presion alta
tabla_presion_alta <- table(datos$presion_alta)
print(tabla_presion_alta)
##
## No Si
## 318 82
Tabla frecuencia consumo de bebidas
tabla_frecuencia_consumo_bebidas <- table(datos$frecuencia_consumo_bebidas)
print(tabla_frecuencia_consumo_bebidas)
##
## Diario Frecuente Nunca Ocasional
## 58 144 40 158
Tabla realiza actividad fisica
tabla_realiza_actividad_fisica <- table(datos$realiza_actividad_fisica)
print(tabla_realiza_actividad_fisica)
##
## No Si
## 155 245
Tabla diagnostico diabetes
tabla_diagnostico_diabetes <- table(datos$diagnostico_diabetes)
print(tabla_diagnostico_diabetes)
##
## No Si
## 342 58
Tabla nivel conciencia salud
tabla_nivel_conciencia_salud <- table(datos$nivel_conciencia_salud)
print(tabla_nivel_conciencia_salud)
##
## 1 2 3 4 5 6 7 8 9 10
## 41 36 36 41 31 42 45 56 34 38
Tabla percepcion impuesto
tabla_percepcion_impuesto <- table(datos$percepcion_impuesto)
print(tabla_percepcion_impuesto)
##
## Indiferente Negativa Positiva
## 86 193 121
Tabla ha cambiado hábito
tabla_ha_cambiado_habito <- table(datos$ha_cambiado_habito)
print(tabla_ha_cambiado_habito)
##
## No Si
## 41 359
Tabla preferencia bebidas
tabla_preferencia_bebidas <- table(datos$preferencia_bebidas)
print(tabla_preferencia_bebidas)
##
## Energizantes Gaseosa Jugos industriales Te azucarado
## 105 101 94 100
Histograma de la distribución de edades
ggplot(datos, aes(x = edad)) +
geom_histogram(bins = 10, fill = "steelblue", color = "black", alpha = 0.7) +
labs(title = "Distribucion de Edades", x = "Edad", y = "Frecuencia") +
theme_minimal()
¿Qué ve?
Gráfico de barras de la frecuencia con la que se consume bebidas azucaradas
ggplot(datos, aes(x = frecuencia_consumo_bebidas, fill = frecuencia_consumo_bebidas)) +
geom_bar() +
labs(title = "Distribucion de la frecuencia del consumo de bebidas", x = "Ideologia Politica", y = "Frecuencia") +
theme_minimal()
Gráfico de barras de la distribución del sexo según el estrato
# Gráfico 2
ggplot(datos, aes(x = estrato, fill = sexo)) +
geom_bar() +
labs(title = "Grafico distribucion del sexo segun estrato", x = "sexo") +
theme_minimal()
Gráfico de la distribucion del sexo según el diagnóstico de diabetes
# Gráfico 2
ggplot(datos, aes(x = diagnostico_diabetes, fill = sexo)) +
geom_bar() +
labs(title = "Grafico distribucion del sexo segun diagnostico de diabetes", x = "sexo") +
theme_minimal()
Gráfico de barras de la distribución del sexo según diagnóstico de presion alta
# Gráfico 2
ggplot(datos, aes(x = presion_alta, fill = sexo)) +
geom_bar() +
labs(title = "Grafico distribucion del sexo segun diagnostico de presion alta", x = "sexo") +
theme_minimal()
Gráfico de pastel de la distribución muestral por sexo
frecuencias <- as.data.frame(table(datos$sexo))
colnames(frecuencias) <- c("sexo", "count")
ggplot(frecuencias, aes(x = "", y = count, fill = sexo)) +
geom_bar(stat = "identity", width = 1) +
coord_polar("y", start = 0) +
labs(title = "Distribucion por Sexo") +
theme_void() +
geom_text(aes(label = paste0(round(count/sum(count)*100, 1), "%")),
position = position_stack(vjust = 0.5))
ggplot(datos, aes(x = edad, y = ingreso_mensual)) +
geom_point(alpha = 0.5, color = "blue") +
geom_smooth(method = "lm", color = "red") +
theme_minimal() +
ggtitle("Relacion entre Edad e Ingreso")
## `geom_smooth()` using formula = 'y ~ x'
## Warning: Removed 20 rows containing non-finite outside the scale range
## (`stat_smooth()`).
## Warning: Removed 20 rows containing missing values or values outside the scale range
## (`geom_point()`).
Hipótesis 1
¿Influye el estrato en el nivel de conciencia en salud de una persona?
Ho: El estrato no afecta, ni influyen en el nivel de conciencia en salud H1: Al menos en un estrato influye en el nivel de conciencia en salud.
#Codigo aqui
modelo_anova <- aov(nivel_conciencia_salud ~ factor(estrato), data = datos)
summary(modelo_anova)
## Df Sum Sq Mean Sq F value Pr(>F)
## factor(estrato) 5 39 7.703 0.948 0.45
## Residuals 394 3201 8.125
NO se rechaza H0, porque no hay suficiente prueba estadistica, ni suficiente relacion significativa como para asegurar que el estrato influye en el nivel de conciencia en salud.
Hipótesis 2
Ho: El cambio de hábito y el nivel de conciencia en salud no tienen relacion alguna. H1: Existe una relacion signifacativa entre el cambio de hábito y el nivel de conciencia sobre salud.
# Crear una variable categórica a partir del nivel de conciencia
datos$conciencia_grupo <- cut(datos$nivel_conciencia_salud,
breaks = c(0, 4, 7, 10),
labels = c("Bajo", "Medio", "Alto"),
include.lowest = TRUE)
# Verificar la tabla de contingencia
tabla_chi <- table(datos$conciencia_grupo, datos$ha_cambiado_habito)
print(tabla_chi)
##
## No Si
## Bajo 16 138
## Medio 8 110
## Alto 17 111
# Aplicar prueba de Chi-cuadrado
prueba_chi <- chisq.test(tabla_chi)
print(prueba_chi)
##
## Pearson's Chi-squared test
##
## data: tabla_chi
## X-squared = 2.8265, df = 2, p-value = 0.2433
p valor = 0.4542 valor p es mayor a 0.05, NO se rechaza la hipótesis nula.
No hay evidencia estadística de que las personas más conscientes de su salud hayan cambiado sus hábitos de consumo con mayor frecuencia.
Hipótesis 3
¿Las personas con diagnóstico de diabetes gastan menos en bebidas azucaradas después del impuesto?
H0: No hay diferencia en el gasto en bebidas azucaradas después del impuesto entre personas con y sin diagnóstico de diabetes H1: Las personas con diagnóstico de diabetes gastan menos en bebidas azucaradas.
# Asegurar que la variable diabetes sea tipo factor
datos$diagnostico_diabetes <- as.factor(datos$diagnostico_diabetes)
# Eliminar NA en las variables relevantes
datos_limpios <- na.omit(datos[, c("gasto_bebidas_despues", "diagnostico_diabetes")])
# Verificar cuántas personas hay en cada grupo
table(datos_limpios$diagnostico_diabetes)
##
## No Si
## 342 58
# Prueba t de una cola (alternativa: con diagnóstico gastan MENOS)
t_prueba <- t.test(gasto_bebidas_despues ~ diagnostico_diabetes,
data = datos_limpios,
alternative = "less")
# Mostrar el resultado
print(t_prueba)
##
## Welch Two Sample t-test
##
## data: gasto_bebidas_despues by diagnostico_diabetes
## t = -1.176, df = 80.777, p-value = 0.1215
## alternative hypothesis: true difference in means between group No and group Si is less than 0
## 95 percent confidence interval:
## -Inf 3205.519
## sample estimates:
## mean in group No mean in group Si
## 82470.32 90196.57
p ≥ 0.05 → No se rechaza H₀: NO hay diferencia significativa. No hay evidencia estadísticamente significativa de que las personas con diagnóstico de diabetes gasten menos en bebidas azucaradas después del impuesto. Es decir, en esta muestra, el diagnóstico de diabetes no está claramente asociado a un menor gasto en este tipo de bebidas.
Hipótesis 4
¿El estrato socioeconómico influye en el gasto en bebidas azucaradas después del impuesto?
H0 : (hipótesis nula): El gasto promedio en bebidas azucaradas después del impuesto es igual en todos los estratos.
H1 : (hipótesis alternativa): Al menos un estrato tiene un gasto promedio diferente.
#Cógigo aquí
# Asegurarse de que estrato sea factor
datos$estrato <- as.factor(datos$estrato)
# Eliminar NA en variables necesarias
datos_anova <- na.omit(datos[, c("gasto_bebidas_despues", "estrato")])
# Aplicar prueba ANOVA
anova_modelo <- aov(gasto_bebidas_despues ~ estrato, data = datos_anova)
summary(anova_modelo)
## Df Sum Sq Mean Sq F value Pr(>F)
## estrato 5 7771766467 1554353293 0.656 0.657
## Residuals 394 933187036636 2368495017
p > 0.05, NO se rechaza la hipótesis nula (H₀). Esto indica que no existe suficiente evidencia estadistica para afirmar que el gasto en bebidas azucaradas cambia o es influenciado ligeramente después del impuesto entre o para al menos un estrato socioeconómico.
Hipótesis 5
¿El estrato socioeconómico influye en el índice de masa corporal?
H0: El estrato socioeconómico no influye en el índice de masa corporal.
H1: El estrato socioeconómico influye en el índice de masa corporal.
prueba_anova <- aov(imc ~ estrato, data = datos) #Hacer prueba y guardarla en un objeto
summary(prueba_anova)#Visualizar el resultado
## Df Sum Sq Mean Sq F value Pr(>F)
## estrato 5 68 13.59 0.507 0.771
## Residuals 379 10159 26.80
## 15 observations deleted due to missingness
P > 0.05, NO se rechaza la H0, pues no hay suficiente evidencia estadistica para afirmar que el estrato socioeconomica determina o influye el indice de masa corporal.
Propuesta de política publica: Al considerar el hecho de que tanto el consumo en personas diabéticas y personas que realizan actividad física no cambio luego del impuesto, se deben centrar los esfuerzos en la educación sobre la alimentación correcta y balanceada, por ende, la creación de un programa sobre nutrición adecuada es clave para combatir los problemas de salud causados por el consumo de bebidas azucaradas, ya que el adecuado consumo de estos es aquel al cual debemos apuntar como sociedad, por la salud de las personas y por el bien de las empresas nacionales productoras de este tipo de bienes.
¡GRACIAS TOTALES!
(…)