En una estación experimental se llevó a cabo un ensayo con el objetivo de comparar el efecto de diferentes tipos de fertilización sobre la altura de una variedad de plantas.
Hipótesis de investigación: existe al menos un tipo de fertilizante que mejora el crecimiento (altura) de las plantas en comparación con los demás tratamientos.
El experimento se estableció bajo un Diseño Completamente al Azar (DCA), en el cual las unidades experimentales fueron asignadas aleatoriamente a los tratamientos, sin restricciones adicionales de bloqueo. Este diseño es apropiado cuando las condiciones del ambiente experimental son homogéneas.
Los tratamientos evaluados corresponden a distintas combinaciones de fertilización:
Cada tratamiento cuenta con 5 repeticiones, para un total de 25 unidades experimentales.
Para el análisis de varianza (ANOVA) se contrastan las siguientes hipótesis:
datos <- read_excel("C:/Users/laura/OneDrive - PUJ Cali/Documentos/bioestadistica/datos.xlsx")
# Aseguramos que fertilizante sea un factor
datos$fertilizante <- factor(datos$fertilizante,
levels = c("sin", "N", "NK", "NP", "NPK"))
str(datos)
## tibble [25 × 3] (S3: tbl_df/tbl/data.frame)
## $ fertilizante: Factor w/ 5 levels "sin","N","NK",..: 1 1 1 1 1 2 2 2 2 2 ...
## $ replica : num [1:25] 1 2 3 4 5 1 2 3 4 5 ...
## $ altura : num [1:25] 7 7 15 11 9 12 17 12 18 18 ...
head(datos)
El conjunto de datos contiene 25 observaciones correspondientes a 5 tratamientos, con 5 repeticiones por tratamiento.
A continuación se presenta la exploración univariada de las variables
fertilizante y altura:
table1(~ fertilizante + altura, data = datos)
| Overall (N=25) |
|
|---|---|
| fertilizante | |
| sin | 5 (20.0%) |
| N | 5 (20.0%) |
| NK | 5 (20.0%) |
| NP | 5 (20.0%) |
| NPK | 5 (20.0%) |
| altura | |
| Mean (SD) | 15.0 (5.15) |
| Median [Min, Max] | 15.0 [7.00, 25.0] |
Y la altura discriminada según el tipo de fertilizante:
table1(~ altura | fertilizante, data = datos)
| sin (N=5) |
N (N=5) |
NK (N=5) |
NP (N=5) |
NPK (N=5) |
Overall (N=25) |
|
|---|---|---|---|---|---|---|
| altura | ||||||
| Mean (SD) | 9.80 (3.35) | 15.4 (3.13) | 10.8 (2.86) | 17.6 (2.07) | 21.6 (2.61) | 15.0 (5.15) |
| Median [Min, Max] | 9.00 [7.00, 15.0] | 17.0 [12.0, 18.0] | 11.0 [7.00, 15.0] | 18.0 [14.0, 19.0] | 22.0 [19.0, 25.0] | 15.0 [7.00, 25.0] |
ggplot(datos, aes(x = fertilizante, y = altura, fill = fertilizante)) +
geom_boxplot(alpha = 0.7, show.legend = FALSE) +
geom_jitter(width = 0.1, alpha = 0.6, show.legend = FALSE) +
labs(x = "Fertilizante", y = "Altura de la planta",
title = "Altura de las plantas por tratamiento") +
theme_minimal()
Distribución de la altura de las plantas según el tipo de fertilizante
El gráfico de cajas permite observar de manera preliminar que los tratamientos con mayor contenido de nutrientes (particularmente NPK) tienden a presentar alturas mayores que el testigo (sin), mientras que los tratamientos con nutrientes parciales (N, NK, NP) se ubican en valores intermedios.
Dado que el diseño es completamente al azar y la variable respuesta (altura) es continua, se ajusta un modelo de análisis de varianza de una vía, donde el factor de clasificación es el tipo de fertilizante:
anova <- aov(altura ~ fertilizante, data = datos)
summary(anova)
## Df Sum Sq Mean Sq F value Pr(>F)
## fertilizante 4 475.8 118.94 14.76 9.13e-06 ***
## Residuals 20 161.2 8.06
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Interpretación: el estadístico F y su valor p asociado indican si existe evidencia estadística suficiente para rechazar la hipótesis nula de igualdad de medias. Un valor p menor al nivel de significancia (usualmente \(\alpha = 0.05\), señalado en la salida con asteriscos) conduce a rechazar H0 y concluir que al menos un tratamiento difiere de los demás en cuanto a la altura promedio de las plantas.
Antes de dar validez a las conclusiones del ANOVA es necesario verificar los supuestos de normalidad de los residuales y homogeneidad de varianzas (homocedasticidad).
par(mfrow = c(1, 2))
plot(anova, which = 1) # Residuales vs ajustados (homogeneidad)
plot(anova, which = 2) # QQ-plot (normalidad)
Diagnóstico de residuales del modelo ANOVA
par(mfrow = c(1, 1))
# Prueba de normalidad de los residuales
shapiro.test(residuals(anova))
##
## Shapiro-Wilk normality test
##
## data: residuals(anova)
## W = 0.94387, p-value = 0.1818
# Prueba de homogeneidad de varianzas
leveneTest(altura ~ fertilizante, data = datos)
Si la prueba de Shapiro-Wilk y la prueba de Levene arrojan valores p superiores a 0.05, se considera que los residuales cumplen razonablemente los supuestos de normalidad y homocedasticidad, respectivamente, validando así los resultados del ANOVA.
Debido a que el ANOVA solamente indica si existen diferencias entre
los tratamientos, pero no cuáles tratamientos difieren entre sí, al
rechazar H0 se procede a realizar una prueba de comparación múltiple de
medias. En este caso se utiliza la prueba de Diferencia Mínima
Significativa (LSD) de Fisher, implementada en el paquete
agricolae:
posanova <- LSD.test(anova, trt = "fertilizante")
posanova
## $statistics
## MSerror Df Mean CV t.value LSD
## 8.06 20 15.04 18.87642 2.085963 3.745452
##
## $parameters
## test p.ajusted name.t ntr alpha
## Fisher-LSD none fertilizante 5 0.05
##
## $means
## altura std r se LCL UCL Min Max Q25 Q50 Q75
## N 15.4 3.130495 5 1.269646 12.751566 18.04843 12 18 12 17 18
## NK 10.8 2.863564 5 1.269646 8.151566 13.44843 7 15 10 11 11
## NP 17.6 2.073644 5 1.269646 14.951566 20.24843 14 19 18 18 19
## NPK 21.6 2.607681 5 1.269646 18.951566 24.24843 19 25 19 22 23
## sin 9.8 3.346640 5 1.269646 7.151566 12.44843 7 15 7 9 11
##
## $comparison
## NULL
##
## $groups
## altura groups
## NPK 21.6 a
## NP 17.6 b
## N 15.4 b
## NK 10.8 c
## sin 9.8 c
##
## attr(,"class")
## [1] "group"
plot(posanova, main = "Comparación de medias - Prueba LSD", xlab = "Fertilizante", ylab = "Altura")
Comparación de medias de altura por fertilizante (prueba LSD)
Interpretación de la prueba LSD: los tratamientos
que comparten la misma letra en la agrupación (groups) no
presentan diferencias estadísticamente significativas entre sí. Los
tratamientos con letras distintas sí difieren significativamente en su
altura promedio. Esto permite identificar qué fertilizante(s) producen
el mayor crecimiento de las plantas.
Nota: los valores numéricos concretos (F, p-valor, medias por tratamiento y agrupaciones LSD) se generan automáticamente al ejecutar este documento (
knit) con el archivodatos.xlsxen el mismo directorio de trabajo.