Estudio del rendimiento de aceitunas

Diseño Completamente al Azar

ANOVA • Kruskal-Wallis • Supuestos estadísticos

Comparación de cuatro tratamientos

1 Introducción

Se realizó un experimento mediante un Diseño Completamente al Azar (DCA) para comparar los rendimientos de cuatro variedades de aceitunas de mesa.

Los tratamientos evaluados fueron Sevillana, Acolana, Empeltre y Bo, utilizando un número desigual de repeticiones.

La variable respuesta fue el rendimiento, expresado en toneladas por hectárea (t/ha).

Se aplicaron dos pruebas:

  • ANOVA: para comparar los rendimientos promedio.
  • Kruskal-Wallis: para comparar las distribuciones de rendimiento.

También se evaluaron los supuestos estadísticos correspondientes.

2 1. Planteamiento del problema

¿Existen diferencias estadísticamente significativas en el rendimiento de las cuatro variedades de aceitunas de mesa?

2.1 Objetivo general

Comparar el rendimiento de las cuatro variedades de aceitunas mediante ANOVA y Kruskal-Wallis, dentro de un Diseño Completamente al Azar.

2.2 Objetivos específicos

  1. Describir los rendimientos de cada variedad.
  2. Evaluar normalidad y homocedasticidad.
  3. Determinar si existen diferencias significativas.
  4. Identificar los tratamientos que difieren.
  5. Comparar visualmente el rendimiento mediante un boxplot.

3 2. Identificación del diseño

Características del diseño experimental
Elemento Descripcion
Diseño experimental Completamente al Azar (DCA)
Factor Variedad de aceituna
Variable independiente Tratamiento
Variable dependiente Rendimiento (t/ha)
Tipo de factor Cualitativo nominal
Tipo de respuesta Cuantitativa continua
Tratamientos Sevillana, Acolana, Empeltre y Bo
Unidad experimental Parcela, suponiendo una medición por parcela
Repeticiones Desiguales
Nivel de significancia 5%

4 3. Datos del experimento

Sevillana <- c(4.9, 8.5, 9.4, 9.8, 7.4, 10.5)

Acolana <- c(8.2, 4.7, 5.6, 6.3, 6.4, 5.2, 4.8)

Empeltre <- c(5.9, 5.6, 5.0, 4.7, 4.3)

Bo <- c(10.6, 9.8, 8.7, 10.3, 9.9, 8.7)

Tratamiento <- factor(
  c(
    rep("Sevillana", length(Sevillana)),
    rep("Acolana", length(Acolana)),
    rep("Empeltre", length(Empeltre)),
    rep("Bo", length(Bo))
  ),
  levels = c("Sevillana", "Acolana", "Empeltre", "Bo")
)

Rendimiento <- c(
  Sevillana, Acolana, Empeltre, Bo
)

datos <- data.frame(
  Tratamiento,
  Rendimiento
)

knitr::kable(
  datos,
  digits = 2,
  caption = "Base de datos del experimento"
)
Base de datos del experimento
Tratamiento Rendimiento
Sevillana 4.9
Sevillana 8.5
Sevillana 9.4
Sevillana 9.8
Sevillana 7.4
Sevillana 10.5
Acolana 8.2
Acolana 4.7
Acolana 5.6
Acolana 6.3
Acolana 6.4
Acolana 5.2
Acolana 4.8
Empeltre 5.9
Empeltre 5.6
Empeltre 5.0
Empeltre 4.7
Empeltre 4.3
Bo 10.6
Bo 9.8
Bo 8.7
Bo 10.3
Bo 9.9
Bo 8.7
write.csv(
  datos,
  "DCA_aceitunas.csv",
  row.names = FALSE
)

Descripción: Se analizaron 24 observaciones correspondientes a cuatro tratamientos, con repeticiones desiguales.

5 4. Estadística descriptiva

resumen <- datos %>%
  group_by(Tratamiento) %>%
  summarise(
    Repeticiones = n(),
    Media = mean(Rendimiento),
    Mediana = median(Rendimiento),
    Desviacion = sd(Rendimiento),
    Varianza = var(Rendimiento),
    Minimo = min(Rendimiento),
    Maximo = max(Rendimiento),
    .groups = "drop"
  )

knitr::kable(
  resumen,
  digits = 3,
  caption = "Estadísticas descriptivas por variedad"
)
Estadísticas descriptivas por variedad
Tratamiento Repeticiones Media Mediana Desviacion Varianza Minimo Maximo
Sevillana 6 8.417 8.95 2.031 4.126 4.9 10.5
Acolana 7 5.886 5.60 1.220 1.488 4.7 8.2
Empeltre 5 5.100 5.00 0.652 0.425 4.3 5.9
Bo 6 9.667 9.85 0.802 0.643 8.7 10.6
mejor <- resumen %>%
  arrange(desc(Media)) %>%
  slice(1)

menor <- resumen %>%
  arrange(Media) %>%
  slice(1)

Conclusión descriptiva:

La variedad con mayor rendimiento promedio fue Bo, con 9.67 t/ha.

La de menor rendimiento promedio fue Empeltre, con 5.1 t/ha.

6 5. Modelo estadístico del DCA

El modelo utilizado es:

\[ Y_{ij}=\mu+\tau_i+\varepsilon_{ij} \]

Donde:

  • \(Y_{ij}\): rendimiento observado.
  • \(\mu\): media general del rendimiento.
  • \(\tau_i\): efecto de la variedad.
  • \(\varepsilon_{ij}\): error aleatorio.

Se supone que los tratamientos fueron asignados aleatoriamente a unidades experimentales comparables.

7 6. Hipótesis del ANOVA

Hipótesis nula:

\[ H_0:\mu_1=\mu_2=\mu_3=\mu_4 \]

Hipótesis alternativa:

Al menos una variedad presenta un rendimiento promedio diferente.

8 7. Evaluación de los supuestos del ANOVA

Se evalúan la normalidad de los residuos y la homocedasticidad.

La independencia debe estar garantizada por el diseño experimental.

modelo <- aov(
  Rendimiento ~ Tratamiento,
  data = datos
)

8.1 7.1 Normalidad: Shapiro-Wilk

¿Los residuos del modelo siguen aproximadamente una distribución normal?

  • H0: Los residuos siguen una distribución normal.
  • H1: Los residuos no siguen una distribución normal.
prueba_shapiro <- shapiro.test(
  residuals(modelo)
)

p_shapiro <- prueba_shapiro$p.value

knitr::kable(
  data.frame(
    Estadistico_W = unname(prueba_shapiro$statistic),
    Valor_p = p_shapiro
  ),
  digits = 4,
  caption = "Prueba de normalidad Shapiro-Wilk"
)
Prueba de normalidad Shapiro-Wilk
Estadistico_W Valor_p
0.9482 0.2472

Conclusión de normalidad:

Como p = 0.2472 es mayor que 0.05, no se rechaza H0. No se detectan desviaciones significativas de normalidad en los residuos.

8.2 7.2 Homocedasticidad: Levene

¿Las cuatro variedades presentan varianzas estadísticamente similares?

  • H0: Las varianzas son iguales.
  • H1: Al menos una varianza es diferente.
prueba_levene <- car::leveneTest(
  Rendimiento ~ Tratamiento,
  data = datos,
  center = median
)

p_levene <- prueba_levene[["Pr(>F)"]][1]

knitr::kable(
  as.data.frame(prueba_levene),
  digits = 4,
  caption = "Prueba de homocedasticidad de Levene"
)
Prueba de homocedasticidad de Levene
Df F value Pr(>F)
group 3 1.511 0.2423
20 NA NA

Conclusión de homocedasticidad:

Como p = 0.2423 es mayor que 0.05, no se rechaza H0. No existe evidencia suficiente de diferencias entre las varianzas.

8.3 7.3 Gráfico Q-Q de normalidad

residuos <- data.frame(
  Residuo = residuals(modelo)
)

ggplot(
  residuos,
  aes(sample = Residuo)
) +
  stat_qq(
    color = "#315D83",
    size = 2.5
  ) +
  stat_qq_line(
    color = "#C65A58",
    linewidth = 1
  ) +
  labs(
    title = "Normalidad de los residuos",
    subtitle = "Gráfico Q-Q del DCA",
    x = "Cuantiles teóricos",
    y = "Cuantiles observados"
  ) +
  tema_grafico

Interpretación: Los puntos cercanos a la línea indican un comportamiento compatible con normalidad.

8.4 7.4 Residuos vs. valores ajustados

diagnostico <- data.frame(
  Ajustados = fitted(modelo),
  Residuos = residuals(modelo)
)

ggplot(
  diagnostico,
  aes(x = Ajustados, y = Residuos)
) +
  geom_point(
    color = "#315D83",
    size = 3
  ) +
  geom_hline(
    yintercept = 0,
    linetype = "dashed",
    color = "#C65A58"
  ) +
  labs(
    title = "Residuos frente a valores ajustados",
    subtitle = "Diagnóstico de dispersión",
    x = "Valores ajustados",
    y = "Residuos"
  ) +
  tema_grafico

9 8. Análisis de varianza (ANOVA)

¿Existen diferencias significativas entre los rendimientos promedio de las cuatro variedades?

tabla_anova <- summary(modelo)

p_anova <- tabla_anova[[1]][["Pr(>F)"]][1]

knitr::kable(
  as.data.frame(tabla_anova[[1]]),
  digits = 5,
  caption = "Tabla ANOVA del DCA"
)
Tabla ANOVA del DCA
Df Sum Sq Mean Sq F value Pr(>F)
Tratamiento 3 79.28976 26.42992 15.33492 2e-05
Residuals 20 34.47024 1.72351 NA NA

Conclusión del ANOVA:

El valor p = 2.055e-05 es menor que 0.05. Se rechaza H0. Existen diferencias estadísticamente significativas entre las medias de rendimiento de las variedades.

10 9. Comparación de medias: Tukey

¿Qué variedades presentan diferencias significativas entre sí?

resultado_tukey <- TukeyHSD(modelo)

tabla_tukey <- data.frame(
  Comparacion = rownames(resultado_tukey$Tratamiento),
  resultado_tukey$Tratamiento,
  row.names = NULL,
  check.names = FALSE
)

knitr::kable(
  tabla_tukey,
  digits = 4,
  caption = "Comparaciones múltiples de Tukey"
)
Comparaciones múltiples de Tukey
Comparacion diff lwr upr p adj
Acolana-Sevillana -2.5310 -4.5753 -0.4866 0.0120
Empeltre-Sevillana -3.3167 -5.5417 -1.0916 0.0024
Bo-Sevillana 1.2500 -0.8715 3.3715 0.3753
Empeltre-Acolana -0.7857 -2.9373 1.3659 0.7387
Bo-Acolana 3.7810 1.7366 5.8253 0.0002
Bo-Empeltre 4.5667 2.3416 6.7917 0.0001
Conclusión de Tukey: Las comparaciones significativas son: Acolana-Sevillana; Empeltre-Sevillana; Bo-Acolana; Bo-Empeltre .

11 10. Prueba de Kruskal-Wallis

¿Existen diferencias significativas entre las distribuciones de rendimiento de las variedades?

Hipótesis:

  • H0: Las distribuciones son iguales.
  • H1: Al menos una distribución es diferente.
resultado_kruskal <- kruskal.test(
  Rendimiento ~ Tratamiento,
  data = datos
)

p_kruskal <- resultado_kruskal$p.value

knitr::kable(
  data.frame(
    Estadistico = unname(resultado_kruskal$statistic),
    Grados_libertad = unname(resultado_kruskal$parameter),
    Valor_p = p_kruskal
  ),
  digits = 5,
  caption = "Prueba de Kruskal-Wallis"
)
Prueba de Kruskal-Wallis
Estadistico Grados_libertad Valor_p
14.84921 3 0.00195

Conclusión de Kruskal-Wallis:

El valor p = 0.00195 es menor que 0.05. Se rechaza H0. Existen diferencias significativas entre las distribuciones de rendimiento de las variedades.

12 11. Supuestos de Kruskal-Wallis

Esta prueba requiere independencia de las observaciones y grupos independientes.

Normalidad: No requiere distribución normal.

Homocedasticidad: No exige varianzas iguales para contrastar igualdad de distribuciones. Sin embargo, para interpretar sus resultados como diferencias de localización o medianas, conviene que las distribuciones tengan formas similares.

La prueba de Levene realizada anteriormente permite evaluar diferencias en las varianzas.

Conclusión:

Kruskal-Wallis permite comparar los cuatro tratamientos sin asumir normalidad. Su interpretación debe considerar la independencia de las observaciones y la forma de las distribuciones.

13 12. Comparaciones no paramétricas

Se aplican comparaciones de Wilcoxon por pares con ajuste de Holm.

resultado_wilcoxon <- pairwise.wilcox.test(
  datos$Rendimiento,
  datos$Tratamiento,
  p.adjust.method = "holm",
  exact = FALSE
)

resultado_wilcoxon
## 
##  Pairwise comparisons using Wilcoxon rank sum test with continuity correction 
## 
## data:  datos$Rendimiento and datos$Tratamiento 
## 
##          Sevillana Acolana Empeltre
## Acolana  0.14      -       -       
## Empeltre 0.14      0.40    -       
## Bo       0.40      0.02    0.04    
## 
## P value adjustment method: holm

Interpretación: Los pares con p ajustado menor que 0.05 presentan diferencias estadísticamente significativas.

14 13. Boxplot con ggplot2

¿Cómo se distribuye el rendimiento de las cuatro variedades de aceitunas?

grafico_boxplot <- ggplot(
  datos,
  aes(
    x = Tratamiento,
    y = Rendimiento,
    fill = Tratamiento
  )
) +
  geom_boxplot(
    width = 0.55,
    alpha = 0.75,
    outlier.shape = NA
  ) +
  geom_jitter(
    width = 0.10,
    size = 2.5,
    alpha = 0.80,
    color = "#263238"
  ) +
  stat_summary(
    fun = mean,
    geom = "point",
    shape = 23,
    size = 4,
    fill = "white",
    color = "black"
  ) +
  scale_fill_manual(
    values = colores
  ) +
  labs(
    title = "Rendimiento de las variedades de aceitunas",
    subtitle = "Comparación entre tratamientos - DCA",
    x = "Tratamientos",
    y = "Rendimiento (t/ha)",
    caption = "Rombo blanco: media del tratamiento"
  ) +
  tema_grafico

print(grafico_boxplot)

Conclusión del boxplot:

La variedad con mayor rendimiento promedio observado es Bo, con 9.67 t/ha.

El gráfico también permite comparar la mediana y la variabilidad de los rendimientos entre tratamientos.

15 14. Gráfico de medias

ggplot(
  resumen,
  aes(
    x = Tratamiento,
    y = Media,
    fill = Tratamiento
  )
) +
  geom_col(
    width = 0.65,
    alpha = 0.85
  ) +
  geom_text(
    aes(label = round(Media, 2)),
    vjust = -0.5,
    size = 4.5
  ) +
  scale_fill_manual(
    values = colores
  ) +
  expand_limits(
    y = max(resumen$Media) * 1.15
  ) +
  labs(
    title = "Rendimiento promedio por variedad",
    x = "Variedad de aceituna",
    y = "Rendimiento promedio (t/ha)"
  ) +
  tema_grafico

16 15. Tamaño del efecto: Eta cuadrado

Eta cuadrado permite identificar la proporción de la variabilidad del rendimiento asociada con los tratamientos.

tabla <- summary(modelo)[[1]]

SC_tratamiento <- tabla[1, "Sum Sq"]

SC_total <- sum(tabla[, "Sum Sq"])

eta2 <- SC_tratamiento / SC_total

knitr::kable(
  data.frame(
    Eta_cuadrado = eta2,
    Porcentaje_explicado = eta2 * 100
  ),
  digits = 3,
  caption = "Tamaño del efecto del tratamiento"
)
Tamaño del efecto del tratamiento
Eta_cuadrado Porcentaje_explicado
0.697 69.699

Conclusión:

El tratamiento explica aproximadamente el 69.7 % de la variabilidad observada del rendimiento en este experimento.

17 16. Resumen de pruebas

Resumen de resultados estadísticos
Prueba Valor_p Decision
Shapiro-Wilk 0.24716 No rechazar H0
Levene 0.24226 No rechazar H0
ANOVA 0.00002 Rechazar H0
Kruskal-Wallis 0.00195 Rechazar H0

18 17. Conclusiones finales

1. Normalidad.

La prueba de Shapiro-Wilk obtuvo un valor p de 0.2472.

No se encontraron evidencias significativas de falta de normalidad en los residuos.

2. Homocedasticidad.

La prueba de Levene obtuvo un valor p de 0.2423.

No se encontraron diferencias significativas entre las varianzas.

3. ANOVA.

El ANOVA obtuvo un valor p de 2.055^{-5}.

Existen diferencias estadísticamente significativas entre los rendimientos promedio de las variedades.

4. Kruskal-Wallis.

La prueba obtuvo un valor p de 0.00195.

Se encontraron diferencias significativas entre las distribuciones de rendimiento de los tratamientos.

5. Variedad con mayor rendimiento.

La variedad Bo presentó el mayor rendimiento promedio observado, con 9.67 t/ha.

19 18. Conclusión general

Tanto el ANOVA como Kruskal-Wallis encontraron diferencias significativas entre los tratamientos. Esto indica que los rendimientos no presentan el mismo comportamiento entre las cuatro variedades estudiadas.

La variedad Bo obtuvo el mayor promedio observado. Sin embargo, la comparación de Tukey permite determinar si supera significativamente a las demás variedades.

20 19. Recomendaciones

Se recomienda utilizar el ANOVA como análisis principal cuando sus supuestos resulten razonables y complementar el estudio con Kruskal-Wallis.

También es importante conservar los gráficos de diagnóstico y el boxplot para facilitar la interpretación del rendimiento de las cuatro variedades.


Nota: Este análisis se elaboró con los valores transcritos del ejercicio de aceitunas. Se recomienda confirmar los datos originales antes de entregar el informe.