#Introducción
El conjunto de datos Smokers Health Data contiene una amplia gama de variables tanto cuantitativas como cualitativas que permiten analizar los efectos del tabaquismo en la salud. Entre las variables cuantitativas se encuentran la edad, frecuencia cardíaca (heart_rate), nivel de SpO2 (oxígeno en sangre), temperatura corporal, colesterol, nivel de glucosa, IMC (índice de masa corporal), nivel de hemoglobina, y parámetros respiratorios como el flujo respiratorio (respiratory_rate) y capacidad pulmonar (lung_capacity). A su vez, se incluyen variables cualitativas como el sexo del paciente, el estado de fumador actual (current_smoker), la presión arterial categorizada en texto, y la presencia de enfermedades respiratorias y enfermedades cardíacas como variables binarias. Estas variables permiten realizar comparaciones entre individuos fumadores y no fumadores, identificar patrones clínicos asociados al tabaquismo, y desarrollar modelos predictivos para evaluar riesgos en la salud basados en hábitos y signos vitales. La diversidad de las variables recogidas facilita un enfoque integral para el estudio del impacto del tabaco desde perspectivas médicas, preventivas y de análisis de datos.
Las siguientes librerías son necesarías para el análisis y reporte estadístico de los datos y su estudio descriptivo e inferencial.
library(readr)
library(dplyr)
library(ggplot2)
library(stringr)
library(tidyr)
library(BSDA)
library(lattice)
library(knitr)
## Rows: 3900 Columns: 7
## ── Column specification ────────────────────────────────────────────────────────
## Delimiter: ","
## chr (3): sex, current_smoker, blood_pressure
## dbl (4): age, heart_rate, cigs_per_day, chol
##
## ℹ Use `spec()` to retrieve the full column specification for this data.
## ℹ Specify the column types or set `show_col_types = FALSE` to quiet this message.
#Descripción
##Smokers Health Data
El presente conjunto de datos, titulado Smokers Health Data, constituye una fuente valiosa para el análisis de los efectos del hábito de fumar sobre diversas variables fisiológicas y condiciones de salud en individuos adultos.
df_smoking <- df_smoking %>% distinct()
colSums(is.na(df_smoking))
## age sex current_smoker heart_rate blood_pressure
## 0 0 0 0 0
## cigs_per_day chol
## 14 7
summary(df_smoking)
## age sex current_smoker heart_rate blood_pressure
## Min. :32.00 female:2081 no :1968 Min. : 44.00 130/80 : 18
## 1st Qu.:42.00 male :1819 yes:1932 1st Qu.: 68.00 120/80 : 17
## Median :49.00 Median : 75.00 110/70 : 15
## Mean :49.54 Mean : 75.69 125/80 : 15
## 3rd Qu.:56.00 3rd Qu.: 82.00 105/70 : 9
## Max. :70.00 Max. :143.00 107/73 : 9
## (Other):3817
## cigs_per_day chol
## Min. : 0.000 Min. :113.0
## 1st Qu.: 0.000 1st Qu.:206.0
## Median : 0.000 Median :234.0
## Mean : 9.169 Mean :236.6
## 3rd Qu.:20.000 3rd Qu.:263.0
## Max. :70.000 Max. :696.0
## NA's :14 NA's :7
unique(df_smoking$sex)
## [1] male female
## Levels: female male
unique(df_smoking$current_smoker)
## [1] yes no
## Levels: no yes
age_sex <- df_smoking %>% arrange(age, sex)
A continuación, las nuevas variables para el estudio:
df_smoking <- df_smoking %>%
mutate(
grupo_edad = case_when(
age < 25 ~ "Joven",
age < 45 ~ "Adulto joven",
age < 65 ~ "Adulto maduro",
TRUE ~ "Mayor"
),
colesterol_alto = ifelse(chol > 240, 1, 0),
taquicardia = ifelse(heart_rate > 100, 1, 0)
)
ggplot(df_smoking, aes(x = current_smoker, y = chol)) +
geom_boxplot(fill = "skyblue") +
labs(title = "Distribucion de colesterol segun condicion de fumador",
x = "Fumador actual", y = "Colesterol (mg/dL)")
## Warning: Removed 7 rows containing non-finite outside the scale range
## (`stat_boxplot()`).
A continuación, se muestra el correspondiente estadístico descriptivo:
df_smoking %>%
summarise(media_colesterol = mean(chol), sd_colesterol = sd(chol))
## media_colesterol sd_colesterol
## 1 NA NA
df_smoking %>%
group_by(current_smoker) %>%
summarise(media_colesterol = mean(chol), sd_colesterol = sd(chol))
## # A tibble: 2 × 3
## current_smoker media_colesterol sd_colesterol
## <fct> <dbl> <dbl>
## 1 no NA NA
## 2 yes NA NA
df_smoking %>%
group_by(current_smoker, sex) %>%
summarise(media_colesterol = mean(chol), sd_colesterol = sd(chol))
## `summarise()` has grouped output by 'current_smoker'. You can override using
## the `.groups` argument.
## # A tibble: 4 × 4
## # Groups: current_smoker [2]
## current_smoker sex media_colesterol sd_colesterol
## <fct> <fct> <dbl> <dbl>
## 1 no female 243. 45.8
## 2 no male NA NA
## 3 yes female 234. 45.9
## 4 yes male NA NA
Se llevarán a cabo diversas pruebas de hipótesis con el objetivo de evaluar si existen diferencias estadísticamente significativas entre personas fumadoras y no fumadoras en relación con variables clínicas como la frecuencia cardíaca, el nivel de colesterol y la prevalencia de condiciones como la taquicardia o el colesterol alto. Estas pruebas permitirán respaldar con evidencia cuantitativa las posibles asociaciones entre el tabaquismo y la salud cardiovascular, utilizando herramientas estadísticas implementadas en R.
A continuación, se muestran las hipótesis planteadas:
z.test(x = df_smoking$heart_rate,
sigma.x = sd(df_smoking$heart_rate, na.rm = TRUE),
mu = 75,
alternative = "two.sided",
conf.level = 0.95)
##
## One-sample z-Test
##
## data: df_smoking$heart_rate
## z = 3.5809, p-value = 0.0003423
## alternative hypothesis: true mean is not equal to 75
## 95 percent confidence interval:
## 75.31188 76.06607
## sample estimates:
## mean of x
## 75.68897
###Conclusiones
Con base en los resultados obtenidos:
Si el valor p es menor a 0.05, se considera que hay evidencia estadísticamente significativa para rechazar la hipótesis nula, lo que indicaría que la frecuencia cardíaca promedio no es igual a 75.
Si el valor p es igual o mayor a 0.05, no se encuentra evidencia suficiente para descartar que la media sea 75.
En este caso, el intervalo de confianza del 95% para la media poblacional de la frecuencia cardíaca se encuentra entre 75.31 y 76.07 latidos por minuto. Además, el valor p asociado a la prueba es 0.0003423, lo que permite rechazar la hipótesis nula. Por lo tanto, se concluye que la frecuencia cardíaca promedio difiere significativamente del valor de referencia de 75. Según la muestra analizada, la media estimada es 75.69 latidos por minuto.
## Warning: Using `size` aesthetic for lines was deprecated in ggplot2 3.4.0.
## ℹ Please use `linewidth` instead.
## This warning is displayed once every 8 hours.
## Call `lifecycle::last_lifecycle_warnings()` to see where this warning was
## generated.
A continuación, se muestran las hipótesis planteadas:
z.test(x = df_smoking$chol,
sigma.x = sd(df_smoking$chol, na.rm = TRUE),
mu = 200,
alternative = "greater",
conf.level = 0.95)
##
## One-sample z-Test
##
## data: df_smoking$chol
## z = 51.456, p-value < 2.2e-16
## alternative hypothesis: true mean is greater than 200
## 95 percent confidence interval:
## 235.4261 NA
## sample estimates:
## mean of x
## 236.5959
###Conclusiones:
Con base en el análisis realizado:
Cuando el valor p es menor a 0.05, se interpreta que existe evidencia estadística para afirmar que el nivel promedio de colesterol supera los 200 mg/dL.
Si el valor p es igual o mayor a 0.05, no se cuenta con pruebas suficientes para sostener que el promedio sea mayor a dicho umbral.
En este caso, el intervalo de confianza del 95% indica que el colesterol medio se encuentra por encima de los 235.42 mg/dL. Dado que el valor p es inferior a 0.05, se rechaza la hipótesis nula, concluyendo que el nivel promedio de colesterol en la población estudiada es significativamente mayor a 200 mg/dL.
A continuación se muestran las hipótesis planteadas:
df_smoking$chol_alto <- ifelse(df_smoking$chol > 240, 1, 0)
prop.test(x = sum(df_smoking$chol_alto, na.rm = TRUE),
n = sum(!is.na(df_smoking$chol_alto)),
p = 0.20,
alternative = "greater",
conf.level = 0.95)
##
## 1-sample proportions test with continuity correction
##
## data: sum(df_smoking$chol_alto, na.rm = TRUE) out of sum(!is.na(df_smoking$chol_alto)), null probability 0.2
## X-squared = 1271.4, df = 1, p-value < 2.2e-16
## alternative hypothesis: true p is greater than 0.2
## 95 percent confidence interval:
## 0.4155977 1.0000000
## sample estimates:
## p
## 0.4287182
###Conclusiones:
Según los resultados obtenidos:
1 Si el valor p es menor a 0.05, se puede concluir que la proporción de personas con colesterol elevado supera el 20%.
Si el valor p es igual o mayor a 0.05, no se dispone de evidencia estadística suficiente para afirmar que esa proporción es mayor.
En este análisis, el intervalo de confianza del 95% muestra que al menos el 41.56% de los individuos presenta colesterol alto. Además, como el valor p es menor a 0.05, se rechaza la hipótesis nula. Por lo tanto, se concluye que la proporción de personas con colesterol elevado es significativamente superior al 20%, con una proporción estimada en la muestra del 42.8%.
A continuación, se muestran las hipótesis planteadas:
df_smoking$taquicardia <- ifelse(df_smoking$heart_rate > 100, 1, 0)
prop.test(x = sum(df_smoking$taquicardia, na.rm = TRUE),
n = sum(!is.na(df_smoking$taquicardia)),
p = 0.05,
alternative = "two.sided",
conf.level = 0.95)
##
## 1-sample proportions test with continuity correction
##
## data: sum(df_smoking$taquicardia, na.rm = TRUE) out of sum(!is.na(df_smoking$taquicardia)), null probability 0.05
## X-squared = 55.613, df = 1, p-value = 8.825e-14
## alternative hypothesis: true p is not equal to 0.05
## 95 percent confidence interval:
## 0.01939026 0.02926409
## sample estimates:
## p
## 0.02384615
###Conclusiones:
Con base en el análisis realizado:
Si el valor p es menor a 0.05, se concluye que la proporción de personas con taquicardia difiere significativamente del 5%.
Si el valor p es igual o mayor a 0.05, no se encuentra evidencia suficiente para afirmar que exista una diferencia respecto al 5%.
En este caso, el intervalo de confianza del 95% para la proporción de taquicardia se sitúa entre 1.93% y 2.92%. Además, dado que el valor p es menor a 0.05, se rechaza la hipótesis nula, lo que indica que la proporción de personas con taquicardia es significativamente distinta al 5%. Según los datos analizados, esta proporción se estima en 2.38%.
A continuación se muestra las hipótesis planteadas:
smokers <- df_smoking[df_smoking$current_smoker == "yes", ]
non_smokers <- df_smoking[df_smoking$current_smoker == "no", ]
t.test(smokers$chol, non_smokers$chol,
alternative = "two.sided",
var.equal = FALSE)
##
## Welch Two Sample t-test
##
## data: smokers$chol and non_smokers$chol
## t = -2.9119, df = 3884.8, p-value = 0.003612
## alternative hypothesis: true difference in means is not equal to 0
## 95 percent confidence interval:
## -6.925837 -1.352281
## sample estimates:
## mean of x mean of y
## 234.5067 238.6458
###Conclusiones:
Con base en lo anterior:
Un valor p inferior a 0.05 indica que existe una diferencia estadísticamente significativa en los niveles promedio de colesterol entre personas fumadoras y no fumadoras.
En este caso, el valor p obtenido fue 0.0036, lo cual es menor que 0.05. Esto permite rechazar la hipótesis nula y concluir que existe evidencia suficiente para afirmar que los niveles medios de colesterol difieren significativamente entre fumadores y no fumadores.
###Conclusiones:
Recta vertical negra: media de colesterol en fumadores. Recta vertical verde: media en no fumadores. Área roja: intervalo de confianza del 95% para la diferencia de medias. - Texto: valor p que indica si la diferencia encontrada es estadísticamente significativa.
A continuación, se muestran las hipótesis planteadas:
t.test(smokers$heart_rate, non_smokers$heart_rate,
alternative = "greater",
var.equal = FALSE)
##
## Welch Two Sample t-test
##
## data: smokers$heart_rate and non_smokers$heart_rate
## t = 3.5809, df = 3896.4, p-value = 0.0001733
## alternative hypothesis: true difference in means is greater than 0
## 95 percent confidence interval:
## 0.7434658 Inf
## sample estimates:
## mean of x mean of y
## 76.38302 75.00762
###Conclusiones:
Si el valor p es menor a 0.05, se puede concluir que la frecuencia cardíaca promedio de los fumadores es superior a la de los no fumadores.
En los resultados obtenidos:
El valor p fue 0.00017, lo cual es considerablemente menor a 0.05. Esto permite rechazar la hipótesis nula y sugiere que existe evidencia estadísticamente significativa para afirmar que los fumadores tienen una mayor frecuencia cardíaca promedio que los no fumadores.
En cuanto al intervalo de confianza del 95%, este se encuentra en el rango \([0.74, ∞)\), lo que indica que, con un 95% de confianza, la diferencia en la media de la frecuencia cardíaca es de al menos 0.74 latidos por minuto a favor del grupo de fumadores.
###Conclusiones:
Recta verical negra: media de frecuencia cardíaca en fumadores. Recta vericalverde: media en no fumadores. Área roja: intervalo de confianza unilaterial (desde 0.74 en adelante). - valor p muy bajo, lo que indica que la frecuencia cardíaca en fumadores es significativamente mayor.
A continuación, se muestran las hipótesis planteadas:
table_chol <- table(df_smoking$current_smoker, df_smoking$chol_alto)
prop.test(x = c(table_chol["yes", "1"], table_chol["no", "1"]),
n = c(sum(table_chol["yes", ]), sum(table_chol["no", ])),
alternative = "two.sided",
conf.level = 0.95)
##
## 2-sample test for equality of proportions with continuity correction
##
## data: c(table_chol["yes", "1"], table_chol["no", "1"]) out of c(sum(table_chol["yes", ]), sum(table_chol["no", ]))
## X-squared = 5.4583, df = 1, p-value = 0.01948
## alternative hypothesis: two.sided
## 95 percent confidence interval:
## -0.069158628 -0.005995786
## sample estimates:
## prop 1 prop 2
## 0.4097510 0.4473282
###Conclusiones:
Los resultados obtenidos muestran lo siguiente:
El valor p fue 0.0195, lo cual es inferior a 0.05. Esto permite rechazar la hipótesis nula y concluir que hay evidencia estadística suficiente para afirmar que las proporciones de colesterol alto son diferentes entre ambos grupos.
El intervalo de confianza del 95% para la diferencia de proporciones es [−0.0692, −0.0060]. Este intervalo no contiene el cero, lo que respalda la significancia de la diferencia. Además, como ambos valores son negativos, se interpreta que la proporción de personas con colesterol alto es significativamente menor entre los fumadores en comparación con los no fumadores.
##Conclusiones finales
Se halló evidencia clara de que las personas que fuman presentan una frecuencia cardíaca promedio superior en comparación con quienes no fuman.
Los fumadores mostraron niveles promedio de colesterol un poco más bajos, aunque esta diferencia resultó ser estadísticamente relevante.
La proporción de individuos con colesterol alto varió significativamente entre los grupos, siendo menor entre los fumadores.
Las pruebas estadísticas son fundamentales para confirmar diferencias entre grupos basándose en datos, lo que resulta crucial para la toma de decisiones en salud pública y prevención médica.