# Crear el dataframe con las observaciones
longitudes <- c(
5.1, 4.9, 4.7, 4.6, 5.0, 5.4, 4.6, 5.0, 4.4, 4.9, 5.4, 4.8, 4.8, 4.3, 5.8, # Setosa
7.0, 6.4, 6.9, 5.5, 6.5, 5.7, 6.3, 4.9, 6.6, 5.2, 5.0, 5.9, 6.0, 6.1, 5.6, # Versicolor
6.3, 5.8, 7.1, 6.3, 6.5, 7.6, 4.9, 7.3, 6.7, 7.2, 6.5, 6.4, 6.8, 5.7, 5.8 # Virginica
)
especie <- factor(rep(c("Setosa", "Versicolor", "Virginica"), each = 15))
datos <- data.frame(
Especie = especie,
Longitud = longitudes
)
# ANOVA completamente al azar
modelo <- aov(Longitud ~ Especie, data = datos)
summary(modelo)
## Df Sum Sq Mean Sq F value Pr(>F)
## Especie 2 18.76 9.382 25.71 5.1e-08 ***
## Residuals 42 15.32 0.365
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
# Solo necesitas instalarlo una vez
install.packages("agricolae")
## Installing package into '/cloud/lib/x86_64-pc-linux-gnu-library/4.4'
## (as 'lib' is unspecified)
# Cargar el paquete
library(agricolae)
# Prueba LSD para comparar medias
prueba_lsd <- LSD.test(modelo, "Especie", p.adj = "none")
# Mostrar los grupos formados
print(prueba_lsd$groups)
## Longitud groups
## Virginica 6.460000 a
## Versicolor 5.973333 b
## Setosa 4.913333 c
# Prueba de Duncan para comparación múltiple
prueba_duncan <- duncan.test(modelo, "Especie", group = TRUE)
# Ver grupos formados
print(prueba_duncan$groups)
## Longitud groups
## Virginica 6.460000 a
## Versicolor 5.973333 b
## Setosa 4.913333 c
# Gráfico de barras con los grupos formados por la prueba de Duncan
bar.group(prueba_duncan$groups,
ylim = c(0, 7),
col = c("skyblue", "lightgreen", "Red"),
main = "Promedio de longitud por especie (Duncan)",
xlab = "Especie",
ylab = "Longitud promedio (cm)")
