El conjunto de datos “Smokers Health Data” es una recopilación de información relacionada con el impacto del tabaquismo en la salud. Contiene las siguientes variables relacionadas con hábitos de tabaquismo y salud cardiovascular:
head(data)
## # A tibble: 6 × 8
## age sex current_smoker heart_rate systolic diastolic cigarretes_per_day
## <dbl> <chr> <chr> <dbl> <dbl> <dbl> <dbl>
## 1 54 male yes 95 110 72 NA
## 2 45 male yes 64 121 72 NA
## 3 58 male yes 81 128. 76 NA
## 4 42 male yes 90 122. 80 NA
## 5 42 male yes 62 119 80 NA
## 6 57 male yes 62 108. 72.5 NA
## # ℹ 1 more variable: cholesterol <dbl>
# Graficos descriptivos
ggplot(data, aes(x = sex, y = cholesterol, fill = current_smoker)) +
geom_boxplot() +
scale_fill_brewer(palette = "YlGnBu") +
labs(x = "gender", y = "Cholesterol Levels") +
theme_minimal()
# Gráfico de colesterol por género y estado de fumador
ggplot(data, aes(x = factor(current_smoker), y = cholesterol)) +
geom_boxplot(fill = "lightblue") +
theme_minimal()
# Filtrar fumadores
sex_smoker <- data %>%
filter(current_smoker == "yes") %>%
group_by(sex) %>%
summarise(count = n()) %>%
mutate(percentage = count / sum(count) * 100,
label = paste0(sex, ": ", round(percentage, 1), "%"))
# Gráfico de fumadores
ggplot(sex_smoker, aes(x = "", y = count, fill = sex)) +
geom_col(width = 1, color = "white") +
coord_polar("y") +
geom_text(aes(label = label), position = position_stack(vjust = 0.5)) +
scale_fill_manual(values = c("darkseagreen", "slategrey")) +
labs(title = "Porcentaje de personas que fuman") +
theme_void()
# Filtrar no fumadores
sex_non_smoker <- data %>%
filter(current_smoker == "no") %>%
group_by(sex) %>%
summarise(count = n()) %>%
mutate(percentage = count / sum(count) * 100,
label = paste0(sex, ": ", round(percentage, 1), "%"))
# Gráfico de no fumadores
ggplot(sex_non_smoker, aes(x = "", y = count, fill = sex)) +
geom_col(width = 1, color = "white") +
coord_polar("y") +
geom_text(aes(label = label), position = position_stack(vjust = 0.5)) +
scale_fill_manual(values = c("darkseagreen", "slategrey")) +
labs(title = "Porcentaje de personas que no fuman") +
theme_void()
# Seleccionar las columnas numéricas
data_numeric <- data %>%
select(age, heart_rate, cigarretes_per_day, cholesterol, systolic, diastolic)
# Convertir a formato largo
data_long <- pivot_longer(data_numeric, cols = everything(),
names_to = "variable", values_to = "valor")
# Graficar boxplots
ggplot(data_long, aes(x = variable, y = valor, fill = variable)) +
geom_boxplot() +
scale_fill_viridis(discrete = TRUE) +
labs(title = "Boxplots de variables de salud", x = "Variable", y = "Valor") +
theme_minimal() +
theme(
axis.text.x = element_text(angle = 45, hjust = 1),
panel.grid.major = element_line(color = "grey80")
)
# Extraer la columna de interés
heart_rate <- data$heart_rate
# Prueba t para una muestra
t_test_result <- t.test(heart_rate, mu = 75)
# Resultados
print(t_test_result)
##
## One Sample t-test
##
## data: heart_rate
## t = 3.5809, df = 3899, p-value = 0.0003465
## alternative hypothesis: true mean is not equal to 75
## 95 percent confidence interval:
## 75.31176 76.06619
## sample estimates:
## mean of x
## 75.68897
Hipótesis nula (H₀): La media poblacional es igual a 75.
Hipótesis alternativa (H₁): La media poblacional es diferente de 75.
p valor muy bajo (0.0003465). Este valor es mucho menor que niveles comunes de significancia como 0.05 o 0.01.
Se rechaza la hipótesis nula. Hay evidencia estadísticamente significativa de que la media poblacional no es igual a 75.
El IC del 95% para la media poblacional está entre 75.31 y 76.07. Como el valor 75 no está dentro del intervalo, esto refuerza la conclusión de que la media poblacional es significativamente diferente de 75.
La media observada en la muestra es 75.69, ligeramente mayor que 75, lo que sugiere que la frecuencia cardíaca promedio en esta muestra es más alta que el valor de referencia.
\[ \begin{matrix} H_{o} &:\mu <= 200 \\ H_{1} &:\mu > 200 \\ \end{matrix} \]
p valor extremadamente bajo. El valor p es prácticamente cero, lo que indica que la probabilidad de observar una media como la obtenida (o más extrema) si la media real fuera 200 o menos, es casi nula.
Esto nos lleva a rechazar la hipótesis nula con total confianza.
El intervalo de confianza del 95% no incluye el valor 200, lo que refuerza la conclusión de que la media poblacional es significativamente mayor a 200.
Hay evidencia estadísticamente significativa para afirmar que el nivel medio de colesterol en la muestra supera el umbral de 200, lo cual sugiere una tendencia hacia hipercolesterolemia en esta población.
# Extraer la columna de interés
cholesterol <- data$cholesterol
# Prueba t para una muestra
t_test_result <- t.test(cholesterol, mu = 200)
# Resultados
print(t_test_result)
##
## One Sample t-test
##
## data: cholesterol
## t = 51.456, df = 3892, p-value < 2.2e-16
## alternative hypothesis: true mean is not equal to 200
## 95 percent confidence interval:
## 235.2016 237.9903
## sample estimates:
## mean of x
## 236.5959
p valor extremadamente bajo. El valor p es prácticamente cero, lo que indica que la probabilidad de observar una media como la obtenida (o más extrema) si la media real fuera 200 o menos, es casi nula. Esto nos lleva a rechazar la hipótesis nula con total confianza.
El intervalo de confianza del 95% no incluye el valor 200, lo que refuerza la conclusión de que la media poblacional es significativamente mayor a 200.
Hay evidencia estadísticamente significativa para afirmar que el nivel medio de colesterol en la muestra supera el umbral de 200, lo cual sugiere una tendencia hacia hipercolesterolemia en esta población.
\[ Z = \begin{cases} 1 & \text{si } cholesterol > 240 \\ 0 & \text{si } cholesterol \leq 240 \end{cases} \] Hipótesis nula (H₀): : La proporción de personas con colesterol alto es igual al 20%.
Hipótesis alternativa (H₁): La proporción de personas con colesterol alto es mayor al 20%.
# Crear la variable binaria Z
data$Z <- ifelse(data$cholesterol > 240, 1, 0)
# Calcular número de éxitos y tamaño de la muestra
successes <- sum(data$Z, na.rm = TRUE)
n <- length(data$Z)
# Realizar la prueba binomial
test_result <- binom.test(successes, n, p = 0.2, alternative = "greater")
# Mostrar resultados
print(test_result)
##
## Exact binomial test
##
## data: successes and n
## number of successes = 1669, number of trials = 3900, p-value < 2.2e-16
## alternative hypothesis: true probability of success is greater than 0.2
## 95 percent confidence interval:
## 0.4148317 1.0000000
## sample estimates:
## probability of success
## 0.4279487
p valor extremadamente bajo (< 2.2e-16). Esto indica que la probabilidad de observar una proporción de éxitos tan alta como 0.428, si la proporción real fuera 0.2, es prácticamente nula. Por lo tanto, se rechaza la hipótesis nula con total confianza.
El intervalo [0.415, 1.000] no incluye el valor 0.2, lo que refuerza la conclusión de que la proporción real es significativamente mayor.
Hay evidencia estadísticamente significativa para afirmar que la proporción de éxitos en la población es mayor al 20%.
\[ W = \begin{cases} 1 & \text{si } heart-rate > 100 \\ 0 & \text{si } heart-rate \leq 100 \end{cases} \] Hipótesis nula (H₀): La proporción de personas con taquicardia es igual al 5%.
Hipótesis alternativa (H₁): La proporción de personas con taquicardia es diferente del 5%.
# Crear la variable binaria Z
data$W <- ifelse(data$heart_rate > 100, 1, 0)
# Calcular número de éxitos y tamaño de la muestra
successes <- sum(data$W, na.rm = TRUE)
n <- length(data$W)
# Prueba binomial
test_result <- binom.test(successes, n, p = 0.2, alternative = "greater")
# Resultados
print(test_result)
##
## Exact binomial test
##
## data: successes and n
## number of successes = 93, number of trials = 3900, p-value = 1
## alternative hypothesis: true probability of success is greater than 0.2
## 95 percent confidence interval:
## 0.01996652 1.00000000
## sample estimates:
## probability of success
## 0.02384615
p valor = 1. Este valor indica que los datos observados son totalmente consistentes con la hipótesis nula. No hay absolutamente ninguna evidencia para rechazar H₀.
Proporción observada (2.38%) < 5%:
Aunque la hipótesis alternativa era que la proporción es diferente al 5%, la proporción observada es incluso menor. Esto sugiere que la taquicardia es menos común de lo que se esperaba bajo H₀.
El intervalo [0.01997, 1.00000] es muy amplio, pero incluye el 5%, lo que también respalda que no se puede rechazar H₀.
En el estudio sobre la salud cardiovascular de adultos, se recopilaron datos fisiológicos de un grupo de individuos clasificados como fumadores y no fumadores. Entre las variables medidas se encuentra el nivel de colesterol en sangre (mg/dL), un indicador importante de riesgo cardiovascular. Con el objetivo de evaluar si existe una diferencia significativa en los niveles promedio de colesterol entre fumadores y no fumadores, se solicita realizar una prueba de hipótesis para comparar las medias de colesterol entre ambos grupos. Asuma independencia entre las muestras y considere una significancia del 5%.
Hipótesis nula (H₀): No hay diferencia en los niveles medios de colesterol entre fumadores y no fumadores.
Hipótesis alternativa (H₁): Existe una diferencia significativa entre los niveles medios de colesterol.
# Separar los grupos: fumadores y no fumadores
chol_smokers <- data$cholesterol[data$current_smoker == "yes"]
chol_nonsmokers <- data$cholesterol[data$current_smoker == "no"]
# Realizar la prueba t para muestras independientes
t_test_result <- t.test(chol_smokers, chol_nonsmokers, alternative = "two.sided", var.equal = FALSE)
# Mostrar resultados
print(t_test_result)
##
## Welch Two Sample t-test
##
## data: chol_smokers and chol_nonsmokers
## 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
H₀ (nula): No hay diferencia en los niveles medios de colesterol entre fumadores y no fumadores (media_fumadores = media_no_fumadores).
H₁ (alternativa): Existe una diferencia significativa en los niveles medios de colesterol (media_fumadores ≠ media_no_fumadores).
Estadístico t: -2.9119
p valor: 0.003612
Intervalo de confianza del 95% para la diferencia de medias: [-6.93, -1.35]
Media de fumadores: 234.51
Media de no fumadores: 238.65
Valor p = 0.0036 < 0.05. Esto indica que hay evidencia estadísticamente significativa para rechazar la hipótesis nula. Por lo tanto, sí existe una diferencia significativa en los niveles medios de colesterol entre fumadores y no fumadores.
Intervalo de confianza negativo. El intervalo de confianza para la diferencia de medias es completamente negativo, lo que indica que la media de colesterol en fumadores es significativamente menor que en no fumadores en esta muestra.
Aunque se esperaba que los fumadores pudieran tener colesterol más alto, en esta muestra los no fumadores tienen un promedio más alto (238.65 vs. 234.51).
Se rechaza H₀. Existe una diferencia significativa entre los niveles medios de colesterol de fumadores y no fumadores. En esta muestra, los no fumadores presentan niveles medios de colesterol más altos que los fumadores.
Hipótesis nula (H₀): No hay diferencia en la frecuencia cardíaca promedio entre fumadores y no fumadores.
Hipótesis alternativa (H₁): La frecuencia cardíaca promedio de los fumadores es mayor que la de los no fumadores.
# Separar los grupos: fumadores y no fumadores
hr_smokers <- data$heart_rate[data$current_smoker == "yes"]
hr_nonsmokers <- data$heart_rate[data$current_smoker == "no"]
# Realizar la prueba t de una cola (fumadores > no fumadores)
t_test_result <- t.test(hr_smokers, hr_nonsmokers, alternative = "greater", var.equal = FALSE)
# Resultados
print(t_test_result)
##
## Welch Two Sample t-test
##
## data: hr_smokers and hr_nonsmokers
## 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
H₀ (nula): No hay diferencia o la frecuencia cardíaca promedio de los fumadores es menor o igual a la de los no fumadores.
H₁ (alternativa): La frecuencia cardíaca promedio de los fumadores es mayor que la de los no fumadores.
p valor = 0.0001733 < 0.05:
Esto indica que hay evidencia estadísticamente significativa para rechazar la hipótesis nula. Por lo tanto, se concluye que la frecuencia cardíaca promedio de los fumadores es mayor que la de los no fumadores.
El límite inferior del intervalo es 0.7435, lo que significa que la diferencia en medias es positiva con al menos ese valor, reforzando la conclusión de que los fumadores tienen una frecuencia cardíaca más alta. Diferencia observada:
Aunque la diferencia entre medias es de aproximadamente 1.38 latidos por minuto, esta diferencia es estadísticamente significativa.
En el estudio se analiza si existe una diferencia significativa en la proporción de personas con colesterol alto (definido como un nivel superior a 240 mg/dL) entre fumadores y no fumadores. Para ello, se utilizaron los datos recolectados en una base que incluye variables clínicas y hábitos personales. Con base en esta información, formule y realice una prueba de hipótesis que permita determinar si la proporción de individuos con colesterol elevado difiere entre quienes fuman y quienes no lo hacen. Utilice un nivel de significancia del 5%.
\[ Z = \begin{cases} 1 & \text{si } cholesterol > 240 \\ 0 & \text{si } cholesterol \leq 240 \end{cases} \] H₀ (nula): La proporción de personas con colesterol alto es la misma en fumadores y no fumadores.
H₁ (alternativa): La proporción de personas con colesterol alto es diferente entrefumadores y no fumadores.
# Crear la variable binaria C (colesterol alto)
data$C <- ifelse(data$cholesterol > 240, 1, 0)
# Crear tabla de contingencia: colesterol alto vs. condición de fumador
tabla <- table(data$current_smoker, data$C)
print(tabla)
##
## 0 1
## no 1086 879
## yes 1138 790
# Realizar prueba de proporciones
test_result <- prop.test(tabla, correct = FALSE)
# Resultados
print(test_result)
##
## 2-sample test for equality of proportions without continuity correction
##
## data: tabla
## X-squared = 5.6106, df = 1, p-value = 0.01785
## alternative hypothesis: two.sided
## 95 percent confidence interval:
## -0.068644839 -0.006509575
## sample estimates:
## prop 1 prop 2
## 0.5526718 0.5902490
H₀ (nula): La proporción de personas con colesterol alto es la misma en fumadores y no fumadores. H₁ (alternativa): La proporción de personas con colesterol alto es diferente entre fumadores y no fumadores.
p valor = 0.01785 < 0.05. Esto indica que hay evidencia estadísticamente significativa para rechazar la hipótesis nula. Por lo tanto, se concluye que las proporciones de colesterol alto difieren entre fumadores y no fumadores.
El intervalo de confianza para la diferencia de proporciones (fumadores - no fumadores) es completamente negativo. Esto sugiere que la proporción de colesterol alto es significativamente menor en fumadores que en no fumadores en esta muestra.
Aunque contraintuitivo, los datos muestran que los no fumadores tienen una proporción ligeramente mayor de colesterol alto (59.0%) comparado con los fumadores (55.3%).
Se rechaza H₀. Existe una diferencia significativa en la proporción de personas con colesterol alto entre fumadores y no fumadores. En esta muestra, los no fumadores presentan una mayor proporción de colesterol alto.
Al utilizar diferentes tipos de pruebas de hipótesis en un análisis estadístico, como se realizó con los datos de salud cardiovascular, se puede obtener una visión más completa y precisa del comportamiento de las variables y las diferencias entre grupos.
Al aplicar estas pruebas en conjunto, es posible detectar patrones generales (como si la población tiene valores normales de salud), comparar grupos (fumadores vs. no fumadores) para identificar diferencias relevantes en salud, evaluar riesgos (como la prevalencia de taquicardia o colesterol alto), tomar decisiones informadas sobre intervenciones o políticas de salud basadas en evidencia estadística.