install.packages("tidyverse")
install.packages("knitr")
library(tidyverse)
library(knitr)
Utilizaremos las versiones en español de los sets de datos
iris:
iris_es <- iris %>%
rename(long_sepalo = Sepal.Length,
ancho_sepalo = Sepal.Width,
long_petalo = Petal.Length,
ancho_petalo = Petal.Width,
especie = Species)
# 1.Calculamos los promedios por especie y guardamos el resumen en un objeto llamado "resumen_iris"
resumen_iris <- iris_es %>%
group_by(especie) %>%
summarise(
long_petalo_prom = round(mean(long_petalo), 2),
ancho_petalo_prom = round(mean(ancho_petalo), 2)
)
# 2.Imprimimos la tabla con formato kable
kable(resumen_iris,
align = "c",
col.names = c("Especie", "Long. pétalo prom. (cm)", "Ancho pétalo prom. (cm)"),
caption = "Promedios de longitud y ancho de pétalo por especie.")
| Especie | Long. pétalo prom. (cm) | Ancho pétalo prom. (cm) |
|---|---|---|
| setosa | 1.46 | 0.25 |
| versicolor | 4.26 | 1.33 |
| virginica | 5.55 | 2.03 |
# 3.Visualizamos graficamente
ggplot(iris_es, aes(x = especie, y = long_petalo, fill = especie)) +
geom_boxplot(alpha = 0.7, width = 0.6, color = "black", outlier.shape = 21) +
# Visualización de la distribución y datos atÃpicos
geom_jitter(width = 0.1, alpha = 0.5, size = 2, color = "black") +
# Puntos individuales para mostrar la densidad de los datos
stat_summary(fun = mean, geom = "point", shape = 23, size = 4, fill = "yellow", color = "black") +
# Resaltado de la media aritmética
scale_fill_brewer(palette = "Set2") +
# Escala fija de 0 a 8 para una comparación estandarizada
scale_y_continuous(limits = c(0, 8), breaks = 0:8) +
labs(title = "Distribución de la longitud del pétalo por especie",
x = "Especie",
y = "Longitud del pétalo (cm)",
fill = "Especie") +
theme_classic() +
theme(
plot.title = element_text(size = 16, face = "bold", hjust = 0.5),
axis.title = element_text(size = 14, face = "bold"),
axis.text = element_text(size = 13, face = "bold"),
axis.ticks.length = unit(0.5, "cm"),
legend.position = "none", # Opcional: quitamos la leyenda porque ya están los nombres en el eje
panel.grid.major.x = element_line(color = "grey90") # GuÃa visual para la escala
) +
coord_flip()