Vamos a analizar la varianza bajo un modelo completamente al azar de las siguientes variedades de arroz evaluadas.
Los rendimientos obtenidos en toneladas por hectárea fueron los siguientes:
#Datos de rendimiento
rendimiento1 <- c(3.4, 4.7, 2, 6.3)
rendimiento2 <- c(3.3, 4.7, 2.1, 5.2)
nombres <- factor(rep(c("JUMA 58", "TIKAL 2","MACUSPANA A-75","BG 90-2")))
#Creación del data.fram
Datos <- data.frame(nombres,rendimiento1,rendimiento2)
print(Datos)
## nombres rendimiento1 rendimiento2
## 1 JUMA 58 3.4 3.3
## 2 TIKAL 2 4.7 4.7
## 3 MACUSPANA A-75 2.0 2.1
## 4 BG 90-2 6.3 5.2
Guardamos los datos en formato CSV para su uso externo.
write.csv(Datos, "arroz.csv", row.names = FALSE)
Generamos una tabla con promedios, desviación estándar, error estándar y límites de confianza.
Resumen de los datos:
summary(Datos)
## nombres rendimiento1 rendimiento2
## BG 90-2 :1 Min. :2.00 Min. :2.100
## JUMA 58 :1 1st Qu.:3.05 1st Qu.:3.000
## MACUSPANA A-75:1 Median :4.05 Median :4.000
## TIKAL 2 :1 Mean :4.10 Mean :3.825
## 3rd Qu.:5.10 3rd Qu.:4.825
## Max. :6.30 Max. :5.200
# Estadísticas descriptivas por rendimiento
estadisticas_rendimiento1 <- summarise(Datos,
Promedio1 = mean(rendimiento1, na.rm = TRUE),
DE1 = sd(rendimiento1, na.rm = TRUE),
n1 = n(),
Error1 = DE1 / sqrt(n1)
)
estadisticas_rendimiento2 <- summarise(Datos,
Promedio2 = mean(rendimiento2, na.rm = TRUE),
DE2 = sd(rendimiento2, na.rm = TRUE),
n2 = n(),
Error2 = DE2 / sqrt(n2)
)
#Estadisticas para cada rendimiento
estadisticas_rendimiento1
## Promedio1 DE1 n1 Error1
## 1 4.1 1.834848 4 0.9174239
estadisticas_rendimiento2
## Promedio2 DE2 n2 Error2
## 1 3.825 1.40327 4 0.701635
En un diseño completamente aleatorizado, cada unidad experimental se asigna al azar a un tratamiento. En nuestro caso, cada medición de rendimiento se considera una observación independiente de una variedad específica. Esto nos permite evaluar si las diferencias en los rendimientos promedio entre las variedades son estadísticamente significativas.
# Asegurar que los datos están en el formato correcto
Datos$rendimiento1 <- as.numeric(as.character(Datos$rendimiento1))
Datos$rendimiento2 <- as.numeric(as.character(Datos$rendimiento2))
# Preparación de los datos combinando rendimiento1 y rendimiento2
datos1 <- data.frame(nombres = Datos$nombres, rendimiento = Datos$rendimiento1, medicion = 'rendimiento1')
datos2 <- data.frame(nombres = Datos$nombres, rendimiento = Datos$rendimiento2, medicion = 'rendimiento2')
#Uso rbind para combinar los dos data.frames
datos_long <- rbind(datos1, datos2)
# Hacer análisis ANOVA con los datos preparados
resultado_anova <- aov(rendimiento ~ nombres, data = datos_long)
summary(resultado_anova)
## Df Sum Sq Mean Sq F value Pr(>F)
## nombres 3 15.544 5.181 33.7 0.00268 **
## Residuals 4 0.615 0.154
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
library(agricolae)
#Usando los resultados anteriores, hacemos la prueba de Duncan
duncan_test <- duncan.test(resultado_anova, "nombres", alpha = 0.05)
# Ver los resultados de la prueba de Duncan
print(duncan_test)
## $statistics
## MSerror Df Mean CV
## 0.15375 4 3.9625 9.895512
##
## $parameters
## test name.t ntr alpha
## Duncan nombres 4 0.05
##
## $duncan
## Table CriticalRange
## 2 3.926503 1.088676
## 3 4.012542 1.112531
## 4 4.033093 1.118229
##
## $means
## rendimiento std r se Min Max Q25 Q50 Q75
## BG 90-2 5.75 0.77781746 2 0.2772634 5.2 6.3 5.475 5.75 6.025
## JUMA 58 3.35 0.07071068 2 0.2772634 3.3 3.4 3.325 3.35 3.375
## MACUSPANA A-75 2.05 0.07071068 2 0.2772634 2.0 2.1 2.025 2.05 2.075
## TIKAL 2 4.70 0.00000000 2 0.2772634 4.7 4.7 4.700 4.70 4.700
##
## $comparison
## NULL
##
## $groups
## rendimiento groups
## BG 90-2 5.75 a
## TIKAL 2 4.70 a
## JUMA 58 3.35 b
## MACUSPANA A-75 2.05 c
##
## attr(,"class")
## [1] "group"
El resultado de la prueba de medias de Duncan indica que las variedades se han dividido en tres grupos distintos basados en sus rendimientos promedio, y estos grupos se denotan con las letras “a”, “b” y “c”. resultados que se pueden interpretar de la siguiente forma:
*Grupo a: Incluye a las variedades “BG 90-2” y “TIKAL 2”, con rendimientos promedio de 5.75 y 4.70 respectivamente. No hay diferencias estadísticamente significativas en los rendimientos promedio entre estas dos variedades, ya que ambas comparten la misma letra de grupo “a”.
*Grupo b: Solo incluye a la variedad “JUMA 58”, con un rendimiento promedio de 3.35. Esta variedad se diferencia significativamente en rendimiento de las variedades en el grupo “a” y del grupo “c”, pero está sola en su grupo, lo que indica su posición intermedia en términos de rendimiento.
*Grupo c: Contiene únicamente a la variedad “MACUSPANA A-75”, con un rendimiento promedio de 2.05. Esta variedad tiene el rendimiento promedio más bajo y es significativamente diferente de las variedades en los grupos “a” y “b”.
Existen diferencias significativas en el rendimiento entre las variedades examinadas, tal como se demuestra en la asignación a diferentes grupos.
“BG 90-2” y “TIKAL 2” tienen los rendimientos más altos y no difieren significativamente entre sí, son las mejores opciones dentro de este conjunto de datos en términos de rendimiento.
“JUMA 58” se encuentra en una posición intermedia, con un rendimiento significativamente menor que las variedades del grupo “a” pero mayor que “MACUSPANA A-75”.
“MACUSPANA A-75” tiene el rendimiento promedio más bajo y es significativamente diferente de todas las demás variedades.
Se preparan los gráficos en un data.frame
#Creación del data.frame con los datos y los grupos
resultado_duncan <- data.frame(
variedad = c("BG 90-2", "TIKAL 2", "JUMA 58", "MACUSPANA A-75"),
rendimiento = c(5.75, 4.70, 3.35, 2.05),
grupo = c("a", "a", "b", "c")
)
#Cargue de la librería gráfica ggplot2
library(ggplot2)
#Elaboración del gráfico
ggplot(resultado_duncan, aes(x = variedad, y = rendimiento, fill = grupo)) +
geom_bar(stat = "identity", position = "dodge") +
geom_text(aes(label = grupo), vjust = -0.5) +
# Añade etiquetas de grupo sobre las barras
scale_fill_manual(values = c("a" = "blue", "b" = "green", "c" = "red")) +
# Colores personalizados para cada grupo
theme_minimal() +
labs(title = "Rendimiento por Variedad y Grupo de Duncan",
x = "Variedad",
y = "Rendimiento",
fill = "Grupo de Duncan") +
theme(plot.title = element_text(hjust = 0.5)) # Centrar el título
En el gráfico se puede corroborar lo que se pudo ver en las conclusiones de los grupos de Duncan, es claro que de acuerdo con las barras, se puede decir que “BG 90-2” es la mejor variedad, junto con “TIKAL 2”, seguido en el grupo b. de “JUMA 58”, con un promedio intermedio, mientras que la variedad “MACUSPANA A-75” es la variedad que tiene menor rendimiento promedio y por ésto quedó en el grupo c.