Se va a trabajar con una base de datos antropemetricos recolectados en un asilo, donde se recolectaron difrentes medidas antropométricos como peso, talla, entre otros. La muestra contiene datos tanto de hombres como de mujeres
La grafica indica la comparación de la distribución del peso por sexo
setwd("~/Desktop/Segundo Semestre/Estadística/Excel")
library(pacman)
p_load(readxl,ggplot2) ## Uso pacman para abrir paquetes
base2 <- read_excel("Personas edad mayor.xlsx")
#convertimos sexo a factor
base2$sexo <- factor(base2$sexo,
levels= c(1,2),
labels = c("Mujeres","Hombres"))
table(base2$sexo)
##
## Mujeres Hombres
## 46 19
ggplot(base2, aes(x = sexo, y = peso, fill = sexo)) +
geom_boxplot(alpha = 0.7) +
labs(title = "Distribución del peso por sexo",
x = "Sexo",
y = "Peso (kg)") +
scale_fill_manual(values = c("Mujeres" = "lightpink", "Hombres" = "lightblue")) +
theme_minimal()
Podemos observar que la muestra está compuesta de 19 hombres y 46 mujeres
En el caso de los hombres la mayor cantidad de los datos esta por encima de la media
p_load(dplyr, tidyr)
base2_largo <- base2 %>%
select(sexo, where(is.numeric)) %>%
pivot_longer(cols = -sexo, names_to = "variable", values_to = "valor")
etiquetas_vars <- c(
edad = "Edad (años)",
peso = "Peso (kg)",
talla = "Estatura (mm)",
biacromi = "Diámetro biacromial (cm)",
bicresta = "Diámetro bicrestal (cm)",
alt_rodi = "Altura de rodilla (mm)",
p_pant = "Perímetro de pantorrilla (cm)",
c_brazo = "Circunferencia del brazo (cm)",
p_t = "Perímetro torácico (cm)"
)
# Preparar datos en formato largo
base2_largo <- base2 %>%
select(sexo, where(is.numeric)) %>%
pivot_longer(cols = -sexo, names_to = "variable", values_to = "valor")
# Graficar con facetas y etiquetas
ggplot(base2_largo, aes(x = sexo, y = valor, fill = sexo)) +
geom_boxplot(alpha = 0.7) +
facet_wrap(~ variable, scales = "free_y", ncol = 3,
labeller = as_labeller(etiquetas_vars)) +
labs(title = "Boxplots de variables cuantitativas por sexo",
x = "Sexo",
y = "Valor") +
scale_fill_manual(values = c("Mujeres" = "#F4A261", "Hombres" = "#2A9D8F")) +
theme_minimal() +
theme(legend.position = "bottom",
strip.background = element_rect(fill = "gray90"),
strip.text = element_text(face = "bold"))
## Warning: Removed 7 rows containing non-finite outside the scale range
## (`stat_boxplot()`).