1. Definición y carga de datos

Datos sobre el rendimiento de cuatro variedades distintas de aceitunas (Sevillana, Ascolana, Empeltre e Ilo) para un Diseño Completamente al Azar (DCA).

library(ggplot2)
library(dplyr)

# Construcción de la base de datos
Variedad <- c(
  rep("Sevillana", 6),
  rep("Ascolana", 7),
  rep("Empeltre", 5),
  rep("Ilo", 6)
)

Rendimiento <- c(
  4.9, 8.5, 9.4, 9.8, 7.4, 10.5,
  8.2, 4.7, 5.6, 6.3, 6.4, 5.2, 4.8,
  5.6, 4.9, 5.0, 4.7, 4.3,
  10.6, 9.6, 8.7, 10.3, 9.9, 8.7
)

datos <- data.frame(
  Variedad = as.factor(Variedad),
  Rendimiento = Rendimiento
)

head(datos)
##    Variedad Rendimiento
## 1 Sevillana         4.9
## 2 Sevillana         8.5
## 3 Sevillana         9.4
## 4 Sevillana         9.8
## 5 Sevillana         7.4
## 6 Sevillana        10.5

2. Análisis exploratorio de datos

library(dplyr)

desc_stats <- datos %>%
  group_by(Variedad) %>%
  summarise(
    N = n(),
    Media = mean(Rendimiento),
    Desv_Est = sd(Rendimiento),
    Mediana = median(Rendimiento),
    Minimo = min(Rendimiento),
    Maximo = max(Rendimiento)
  )

print(desc_stats)
## # A tibble: 4 × 7
##   Variedad      N Media Desv_Est Mediana Minimo Maximo
##   <fct>     <int> <dbl>    <dbl>   <dbl>  <dbl>  <dbl>
## 1 Ascolana      7  5.89    1.22     5.6     4.7    8.2
## 2 Empeltre      5  4.9     0.474    4.9     4.3    5.6
## 3 Ilo           6  9.63    0.799    9.75    8.7   10.6
## 4 Sevillana     6  8.42    2.03     8.95    4.9   10.5
ggplot(datos, aes(x = Variedad, y = Rendimiento, fill = Variedad)) +
  geom_boxplot(alpha = 0.7, outlier.color = "red") +
  geom_jitter(width = 0.1, size = 2, alpha = 0.5) +
  labs(
    title = "Comparación de Rendimiento por Variedad de Aceituna",
    x = "Variedad",
    y = "Rendimiento (tn/ha)"
  ) +
  theme_minimal() +
  theme(legend.position = "none")

3. Evaluación de supuestos

3.1. Supuesto de Normalidad (Shapiro-Wilk)

  • \(H_0\): Los residuos del modelo se distribuyen normalmente.

  • \(H_1\): Los residuos del modelo no se distribuyen normalmente.

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

# Supuesto 1: Normalidad de los residuos 
# Si p > 0.05, se cumple la normalidad
shapiro.test(residuals(modelo))
## 
##  Shapiro-Wilk normality test
## 
## data:  residuals(modelo)
## W = 0.94672, p-value = 0.2299
# Supuesto 2: Homogeneidad de varianzas / Homocedasticidad (Prueba de Bartlett)
# Si p > 0.05, se cumple la homocedasticidad
bartlett.test(Rendimiento ~ Variedad, data = datos)
## 
##  Bartlett test of homogeneity of variances
## 
## data:  Rendimiento by Variedad
## Bartlett's K-squared = 8.4254, df = 3, p-value = 0.03799

En cuanto a la normalidad, como \(p = 0.2299 > 0.05\), no se rechaza \(H_0\). Los residuos cumplen con el supuesto de normalidad. Como \(p = 0.03799 < 0.05\), se rechaza \(H_0\). No se cumple el supuesto de homogeneidad de varianzas.

Dado que no se cumple el supuesto de homocedasticidad, la prueba más adecuada y representativa es la prueba no paramétrica de Kruskal-Wallis. Nos planteamos las siguientes hipotesis:

  • \(H_0\): La mediana del rendimiento es igual entre todas las variedades de aceituna (\(M_{\text{Sevillana}} = M_{\text{Ascolana}} = M_{\text{Empeltre}} = M_{\text{Ilo}}\)).

  • \(H_1\): Al menos una de las variedades de aceituna presenta un rendimiento mediano diferente.

# Prueba de Kruskal-Wallis
kruskal.test(Rendimiento ~ Variedad, data = datos)
## 
##  Kruskal-Wallis rank sum test
## 
## data:  Rendimiento by Variedad
## Kruskal-Wallis chi-squared = 15.23, df = 3, p-value = 0.00163

Se rechaza \(H_0\), dado que existen diferencias estadísticamente significativas en el rendimiento según la variedad de aceituna evaluada ( \(p = 0.00163 < 0.05\))