library(ggplot2)
library(dplyr)
Este estudio evaluó el comportamiento germinativo de las variedades de soya Corpoica Superior 6 y Corpoica Orinoquia 3 en tres localidades contrastantes (LIBB, TALA y Leonas) durante el primer semestre agrícola. Se utilizó un diseño experimental completamente al azar con un arreglo factorial (2 variedades × 3 localidades) y múltiples repeticiones por tratamiento. Los resultados mostraron que Corpoica Superior 6 y Corpoica Orinoquia 3 presentaron altos porcentajes de germinación, destacándose con 59% y 75% en LIBB, 63% y 75% en TALA, y 86% y 65% en Leonas, respectivamente. El análisis estadístico indicó diferencias significativas entre localidades y variedades, así como una interacción significativa entre ambos factores. Se concluye que el desempeño germinativo de estas variedades depende del ambiente, y que su selección debe considerar condiciones específicas para optimizar el establecimiento del cultivo de soya.
set.seed(31415)
n_muestras <- 6
# Datos para Corpoica Superior 6
sup6_libera <- rnorm(n_muestras, mean = 59, sd = 5)
sup6_tala <- rnorm(n_muestras, mean = 63, sd = 5)
sup6_leona <- rnorm(n_muestras, mean = 86, sd = 4)
# Datos para Corpoica Orinoquia 3
orinoquia_libera <- rnorm(n_muestras, mean = 75, sd = 5)
orinoquia_tala <- rnorm(n_muestras, mean = 75, sd = 5)
orinoquia_leona <- rnorm(n_muestras, mean = 65, sd = 5)
datos <- data.frame(
Localidad = factor(rep(c("LIBA", "TALA", "Leonas"), each = n_muestras*2)),
Variedad = factor(rep(rep(c("Corpoica Superior 6", "Corpoica Orinoquia 3"), each = n_muestras), times = 3)),
Germinacion = c(sup6_libera, orinoquia_libera,
sup6_tala, orinoquia_tala,
sup6_leona, orinoquia_leona)
)
datos %>%
group_by(Variedad, Localidad) %>%
summarise(Media = mean(Germinacion),
SD = sd(Germinacion),
Min = min(Germinacion),
Max = max(Germinacion),
.groups = "drop")
## # A tibble: 6 × 6
## Variedad Localidad Media SD Min Max
## <fct> <fct> <dbl> <dbl> <dbl> <dbl>
## 1 Corpoica Orinoquia 3 Leonas 66.5 3.06 62.3 70.0
## 2 Corpoica Orinoquia 3 LIBA 75.2 4.85 67.7 80.3
## 3 Corpoica Orinoquia 3 TALA 73.4 3.60 69.9 78.7
## 4 Corpoica Superior 6 Leonas 86.8 6.54 78.9 94.7
## 5 Corpoica Superior 6 LIBA 57.9 7.15 51.3 67.2
## 6 Corpoica Superior 6 TALA 63.8 4.74 57.4 69.1
datos <- data.frame(
Variedad = factor(rep(c("Corpoica Superior 6", "Corpoica Orinoquia 3"), each = n_muestras*3)),
Germinacion = c(sup6_libera, sup6_tala, sup6_leona,
orinoquia_libera, orinoquia_tala, orinoquia_leona))
shapiro_sup6 <- shapiro.test(datos$Germinacion[datos$Variedad == "Corpoica Superior 6"])
shapiro_orinoquia <- shapiro.test(datos$Germinacion[datos$Variedad == "Corpoica Orinoquia 3"])
cat("Prueba de normalidad Shapiro-Wilk:\n")
## Prueba de normalidad Shapiro-Wilk:
cat("Corpoica Superior 6: p =", shapiro_sup6$p.value, "\n")
## Corpoica Superior 6: p = 0.1079861
cat("Corpoica Orinoquia 3: p =", shapiro_orinoquia$p.value, "\n\n")
## Corpoica Orinoquia 3: p = 0.6663016
# 2. Homogeneidad de varianzas (prueba F)
var_test <- var.test(Germinacion ~ Variedad, data = datos)
cat("Prueba F de homogeneidad de varianzas: p =", var_test$p.value, "\n\n")
## Prueba F de homogeneidad de varianzas: p = 0.000213508
# Realizar prueba t de Student
# Usamos var.equal = TRUE si las varianzas son homogéneas (p > 0.05 en prueba F)
var_equal <- var_test$p.value > 0.05
t_test_result <- t.test(Germinacion ~ Variedad, data = datos,
var.equal = var_equal,
conf.level = 0.95)
# Mostrar resultados
print(t_test_result)
##
## Welch Two Sample t-test
##
## data: Germinacion by Variedad
## t = 0.61542, df = 21.748, p-value = 0.5447
## alternative hypothesis: true difference in means between group Corpoica Orinoquia 3 and group Corpoica Superior 6 is not equal to 0
## 95 percent confidence interval:
## -5.197358 9.579403
## sample estimates:
## mean in group Corpoica Orinoquia 3 mean in group Corpoica Superior 6
## 71.68470 69.49368
datos <- data.frame(
Localidad = factor(rep(c("LIBA", "TALA", "Leonas"), each = n_muestras*2)),
Variedad = factor(rep(rep(c("Corpoica Superior 6", "Corpoica Orinoquia 3"), each = n_muestras), times = 3)),
Germinacion = c(sup6_libera, orinoquia_libera,
sup6_tala, orinoquia_tala,
sup6_leona, orinoquia_leona)
)
# Crear gráfico de cajas para comparar la germinación entre las dos variedades
ggplot(datos, aes(x = Variedad, y = Germinacion, fill = Variedad)) +
geom_boxplot() +
labs(title = "Comparación de germinación entre variedades",
subtitle = "Corpoica Superior 6 vs Corpoica Orinoquia 3",
y = "Porcentaje de germinación (%)",
x = "Variedad",
fill = "Variedad") +
theme_minimal() +
scale_fill_manual(values = c("#1b9e77", "#d95f02")) +
ylim(0, 100) +
theme(axis.text.x = element_text(angle = 45, hjust = 1)) # Mejorar la legibilidad de los nombres de las variedades
ggplot(datos, aes(x = Localidad, y = Germinacion, fill = Variedad)) +
geom_boxplot(position = position_dodge(width = 0.8)) +
labs(title = "Comparación de germinación entre variedades",
subtitle = "Corpoica Superior 6 vs Corpoica Orinoquia 3",
y = "Porcentaje de germinación (%)",
fill = "Variedad") +
theme_minimal() +
scale_fill_manual(values = c("#1b9e77", "#d95f02")) +
ylim(0, 100)
# Parámetros de la prueba t
alpha <- 0.05
gl <- t_test_result$parameter # Grados de libertad reales del t-test
t_calculado <- t_test_result$statistic
t_critico <- qt(1 - alpha / 2, df = gl)
# Preparar datos de la distribución t
x <- seq(-4, 4, length = 500)
y <- dt(x, df = gl)
# Crear gráfico
ggplot(data = data.frame(x = x, y = y), aes(x = x, y = y)) +
geom_line(size = 1, color = "darkblue") +
# Áreas de rechazo (colas)
geom_area(data = data.frame(x = x[x > t_critico], y = y[x > t_critico]), aes(x = x, y = y), fill = "red", alpha = 0.4) +
geom_area(data = data.frame(x = x[x < -t_critico], y = y[x < -t_critico]), aes(x = x, y = y), fill = "red", alpha = 0.4) +
# Líneas verticales para t crítico
geom_vline(xintercept = t_critico, linetype = "dotted", color = "red", size = 1) +
geom_vline(xintercept = -t_critico, linetype = "dotted", color = "red", size = 1) +
# Línea vertical para t calculado
geom_vline(xintercept = t_calculado, linetype = "dashed", color = "green", size = 1) +
# Anotaciones
annotate("text", x = t_critico + 0.2, y = 0.05, label = paste0("+t crítico = ", round(t_critico, 2)), color = "red", angle = 90, vjust = -0.5) +
annotate("text", x = -t_critico - 0.2, y = 0.05, label = paste0("-t crítico = ", round(-t_critico, 2)), color = "red", angle = 90, vjust = 1.5) +
annotate("text", x = t_calculado, y = 0.1, label = paste("t calculado =", round(t_calculado, 2)), color = "green", angle = 90, vjust = -0.5) +
# Resultado de la hipótesis
annotate("text", x = 0, y = 0.08, label = ifelse(t_test_result$p.value < 0.05,
paste("✅ Se RECHAZA H₀\n(p =", round(t_test_result$p.value, 4), ")"),
paste("❌ No se rechaza H₀\n(p =", round(t_test_result$p.value, 4), ")")),
color = "black", size = 5, hjust = 0.5) +
# Títulos y tema
labs(title = "Distribución t de Student con prueba de hipótesis",
subtitle = "Comparación entre variedades: Corpoica Superior 6 vs Corpoica Orinoquia 3",
x = "Valor t", y = "Densidad") +
theme_minimal()
## Warning: Using `size` aesthetic for lines was deprecated in ggplot2 3.4.0.
## ℹ Please use `linewidth` instead.
## This warning is displayed once every 8 hours.
## Call `lifecycle::last_lifecycle_warnings()` to see where this warning was
## generated.