El objetivo del trabajo fue evaluar el efecto de tres láminas de riego en Rosa sp. variedad Vendela en sustrato (80 % cascarilla de arroz tostada y 20 %compost). El experimento en el primer ciclo se realizó durante el año 2014. Fue evaluada la producción(en etapa fenológica de garbanzo para lo que se midió como respuesta el diámetro del botón) al usar los tres tratamientos, un control (T1) con una lámina del 100 % de la evapotranspiración de cultivo (ETc) y el porcentaje de drenaje , y los tratamientos T2 y T3 equivalentes al 80 y 65 % de T1, respectivamente. Los datos para cada tratamiento se van a generar en R siguiendo los siguientes parámetros:
set.seed(1077035318)
options(digits = 4)
#Variable respuesta
diam_bot=c(rnorm(36,7.78,0.050),
rnorm(36,7.69,0.060),
rnorm(36,7.41,0.055))
#Factor lamina
lamina=gl(3,36,108,paste0('t',1:3))
##1. crear el data.frame de los datos, una columna para la respuesta y otra para el factor asociado a los tratamientos
#Creación data.frame
df=data.frame(lamina,diam_bot)
head(df)
## lamina diam_bot
## 1 t1 7.820
## 2 t1 7.751
## 3 t1 7.778
## 4 t1 7.774
## 5 t1 7.752
## 6 t1 7.882
##2. calcule la media, la varianza y el coeficiente de variación para el diámetro de cada tratamiento
# Calcular la media del diámetro para cada tratamiento
means <- tapply(df$diam_bot, df$lamina, mean)
# Calcular la varianza del diámetro para cada tratamiento
variances <- tapply(df$diam_bot, df$lamina, var)
# Calcular el coeficiente de variación (CV) del diámetro para cada tratamiento
cv <- tapply(df$diam_bot, df$lamina, function(x) (sd(x) / mean(x)) * 100)
##3. Haga un diagrama de caja que permita visualizar la mediana y la media en cada tratamiento
# Se crea un diagrama de caja
boxplot(diam_bot ~ lamina, data = df, notch = TRUE, main = "Diagrama de Caja",
xlab = "Tratamiento", ylab = "Diámetro")
# Se calcula la media de cada tratamiento
means <- tapply(df$diam_bot, df$lamina, mean)
# Se agrega líneas para representar la media en cada caja
for (i in 1:length(means)) {
lines(i, means[i], col = "red", type = "h", lwd = 1)
}
##4. Haga un histograma que permita visualizar el comportamiento
distribucional del diámetro en cada tratamiento
# Crear un histograma para cada tratamiento
par(mfrow = c(1, 3)) # Dividir la ventana gráfica en 1 fila y 3 columnas
for (i in unique(df$lamina)) {
subset_data <- df[df$lamina == i, ] # Filtrar datos por tratamiento
hist(subset_data$diam_bot, main = paste("Tratamiento", i), xlab = "Diámetro")
}
par(mfrow = c(1, 1)) # Restaurar la configuración de la ventana gráfica
##5. Del análisis descriptivo, qué puede concluir agronómicamente del diametro de los botones según los tratamientos aplicados? Agronómicamente, los resultados sugieren que la lámina de agua utilizada en los tratamientos tiene un impacto en el tamaño promedio y la variabilidad de los botones. La elección de la lámina de agua puede influir en la calidad y uniformidad de los productos agrícolas. Sin embargo, se necesitaría un análisis estadístico más avanzado, como un análisis de varianza (ANOVA), para determinar si las diferencias observadas son estadísticamente significativas y para cuantificar el impacto de la lámina de agua en los diámetros de los botones.
##6. Plantee la hipótesis estadística asociada al análisis de varianza para el modelo de diseño (Factorial Simple en arreglo completamente al azar) \[ \Large{H_0:\mu_{T1}=\mu_{T2}=\mu_{T3}} \] ## 7. Escriba el modelo de este diseño completamente especificado \[ \LARGE{y_{ij}=\mu_i+\epsilon_{ij}}\\\LARGE{y_{ij}=\mu+\tau_i+\epsilon_{ij}}\\\LARGE{i=1,2,3}\\\LARGE{j=1,\cdots,36} \] ## 8. Haga la tabla del análisis de varianza
# Realizar el ANOVA para la variable "lamina"
modelo_anova_lamina <- aov(diam_bot ~ lamina, data = df)
# Mostrar la tabla de ANOVA
anova_result_lamina <- summary(modelo_anova_lamina)
print(anova_result_lamina)
## Df Sum Sq Mean Sq F value Pr(>F)
## lamina 2 2.636 1.318 454 <2e-16 ***
## Residuals 105 0.305 0.003
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##9. Interprete el valor F obtenido 10.Los datos proveen evidencia en contra de la hipótesis nula antes planteada? En este contexto, el valor F de 454 y el valor p muy bajo indican que las diferencias entre las láminas de agua son altamente significativas en términos de su efecto en el diámetro de los botones. En otras palabras, existe una influencia significativa de la lámina de agua en la variable de respuesta, y estas diferencias no son simplemente el resultado de la variabilidad aleatoria.
##. Extráiga los residuales del modelo y haga un histograma que en el mismo dibujo quede impresa la varianza de los residuales
# Extraer los residuales del modelo ANOVA
residuales <- residuals(modelo_anova_lamina)
# Calcular la varianza de los residuales
varianza_residuales <- var(residuales)
# Crear un histograma de los residuales con la varianza impresa
hist(residuales, main = "Histograma de Residuales",
xlab = "Residuales", ylab = "Frecuencia", col = "lightblue", border = "black")
abline(v = varianza_residuales, col = "red", lwd = 2)
legend("topright", legend = paste("Varianza = ", round(varianza_residuales, 4)), col = "red", lwd = 2)
Evaluación de la normalidad: El histograma permite evaluar si los
residuales siguen una distribución normal. Si los residuales se asemejan
a una distribución normal, esto respalda la validez de los supuestos del
modelo estadístico.
Identificación de patrones: Un histograma puede revelar patrones en los residuales, como sesgos, asimetría o agrupaciones inusuales. Estos patrones pueden sugerir problemas en el modelo o en los datos.
Comprobación de la varianza: La impresión de la varianza de los residuales en el histograma proporciona información sobre la dispersión de los residuales alrededor de cero. Una varianza grande indica una dispersión significativa, lo que puede ser relevante en términos de la precisión del modelo.
Comparación entre modelos: Al crear histogramas de residuales de diferentes modelos, puedes comparar la calidad del ajuste de los modelos. Modelos con residuales que se asemejan más a una distribución normal y tienen menor dispersión suelen ser preferibles.
Validación del modelo: Los residuales son una parte fundamental en la validación de un modelo estadístico. Un buen modelo debería tener residuales que se distribuyan normalmente alrededor de cero y que no muestren patrones sistemáticos.
Varianza de los Residuales (Residual Variance):
La varianza de los residuales mide la dispersión de las diferencias entre los valores observados y los valores predichos por el modelo estadístico. Cuanto mayor sea la varianza de los residuales, mayor será la variabilidad no explicada por el modelo. Una varianza de residuales alta sugiere que el modelo no se ajusta bien a los datos y que hay una cantidad significativa de error no explicado.
Cuadrado Medio del Error (MSE):
El cuadrado medio del error (MSE) es una medida de la variabilidad dentro de los grupos o tratamientos. En el contexto de un ANOVA, el MSE es una estimación de la varianza dentro de los grupos. Es una medida de la variabilidad no atribuible a las diferencias entre los tratamientos. Cuanto más pequeño sea el MSE, menor será la variabilidad no explicada y, en teoría, mejor será el ajuste del modelo. Comparación:
En un análisis de varianza (ANOVA) adecuado, se espera que la varianza de los residuales y el cuadrado medio del error (MSE) sean aproximadamente iguales. Esto es un reflejo de que la mayor parte de la variabilidad en los datos se debe a las diferencias entre los tratamientos (efecto del tratamiento), y una cantidad relativamente pequeña de variabilidad se debe a la variabilidad dentro de los grupos (residuales). Si la varianza de los residuales es mucho mayor que el MSE, puede indicar que el modelo no se ajusta bien a los datos, y hay una cantidad significativa de variabilidad no explicada.
Hipótesis de Normalidad para los Residuales:
Hipótesis Nula (H0): Los residuales de la variable “diámetro de botones” siguen una distribución normal en la población (son normalmente distribuidos), lo que significa que los errores se distribuyen de manera aproximadamente normal alrededor de cero.
Hipótesis Alternativa (H1): Los residuales de la variable “diámetro de botones” no siguen una distribución normal en la población (no son normalmente distribuidos), lo que sugiere que los errores no se distribuyen de manera aproximadamente normal alrededor de cero.
# Realizar la prueba de Shapiro-Wilk en los residuales
shapiro_test_result <- shapiro.test(residuales)
# Mostrar los resultados de la prueba
print(shapiro_test_result)
##
## Shapiro-Wilk normality test
##
## data: residuales
## W = 0.98, p-value = 0.2
Valor de W (Estadístico de Shapiro-Wilk): El valor de W se encuentra en el rango de 0 a 1 y es una medida de cuánto se desvían los datos de la normalidad. En este caso, el valor de W es 0.98, lo que sugiere que los datos no se desvían significativamente de la normalidad. Valores cercanos a 1 indican que los datos se ajustan bien a una distribución normal.
Valor p (p-value): El valor p es 0.2, lo que significa que es mayor que el nivel de significancia típicamente utilizado (por ejemplo, 0.05). Dado que el valor p es mayor que el nivel de significancia, no hay evidencia suficiente para rechazar la hipótesis nula. En este caso, la hipótesis nula establece que los residuales siguen una distribución normal, y no hay evidencia para afirmar lo contrario.
la conclusión es que la normalidad de los residuales respalda la validez del modelo estadístico y las conclusiones derivadas del ANOVA realizado en el experimento. Los resultados son coherentes con la suposición de que los residuales se distribuyen de manera aproximadamente normal en la población y que el modelo es apropiado para interpretar los datos del estudio.
Hipótesis de Igualdad de Varianzas:
Hipótesis Nula (H0): Las varianzas de los diámetros de botones son iguales para todos los niveles de láminas de agua. En otras palabras, no hay diferencias significativas en la variabilidad del tamaño de los botones entre las láminas de agua.
Hipótesis Alternativa (H1): Al menos una de las varianzas de los diámetros de botones es diferente de las demás para los niveles de láminas de agua. Esto implicaría que hay diferencias significativas en la variabilidad del tamaño de los botones entre las láminas de agua.
# Realizar la prueba de Bartlett
bartlett_test_result <- bartlett.test(diam_bot ~ lamina, data = df) # Reemplaza 'lamina' por el nombre de tu variable de tratamiento
# Mostrar los resultados de la prueba
print(bartlett_test_result)
##
## Bartlett test of homogeneity of variances
##
## data: diam_bot by lamina
## Bartlett's K-squared = 1.4, df = 2, p-value = 0.5
Dado que el valor p (p-value) obtenido en la prueba de Bartlett es 0.5 y es mayor que el nivel de significancia comúnmente utilizado (por ejemplo, 0.05), no hay evidencia suficiente para rechazar la hipótesis nula. Por lo tanto, no podemos concluir que existan diferencias significativas en la varianza de los diámetros de botones entre los diferentes niveles de láminas de agua.
En este contexto, la prueba de Bartlett respalda la hipótesis de igualdad de varianzas, lo que sugiere que las varianzas de los diámetros de botones son aproximadamente iguales para los diferentes niveles de láminas de agua. Esto es importante en el análisis de varianza (ANOVA), ya que el supuesto de igualdad de varianzas es fundamental para la interpretación de los resultados del ANOVA.
# Crear un diagrama de caja de los residuales
boxplot(residuales, main = "Diagrama de Caja de Residuales", ylab = "Residuales", col = "lightblue", border = "black")
# Etiquetar los valores atípicos
outliers <- boxplot(residuales, plot = FALSE)$out
text(1, outliers, labels = round(outliers, 2), pos = 4, col = "red")
## 16. Realice alguna prueba con la librería outliers de R para
dectectar atípicos.
# Cargar la librería car
library(car)
## Loading required package: carData
# Crear un objeto con los residuales
residuales <- residuals(modelo_anova_lamina) # Asegúrate de reemplazar 'modelo_anova_lamina' con el nombre correcto de tu modelo
# Realizar el test de detección de atípicos
outlier_test_result <- outlierTest(modelo_anova_lamina)
# Mostrar el resultado del test
print(outlier_test_result)
## rstudent unadjusted p-value Bonferroni p
## 94 3.766 0.0002748 0.02968
En este caso, el valor p sin ajustar es muy pequeño, lo que sugiere que el valor es atípico. Sin embargo, el valor p ajustado con Bonferroni es 0.02968, que está por encima de un nivel de significancia típicamente utilizado de 0.05. Por lo tanto, después de la corrección de Bonferroni, no hay evidencia suficiente para considerar el valor como un valor atípico.
En resumen, el valor en cuestión no se consideraría un valor atípico significativo después de ajustar el nivel de significancia con Bonferroni.
Hipótesis Nula (H0): Las varianzas de los diámetros de botones son iguales para todos los niveles de láminas de agua. En otras palabras, no hay diferencias significativas en la variabilidad del tamaño de los botones entre las láminas de agua.
# Identificar a qué tratamiento pertenece el dato atípico
tratamiento_atipico <- df$lamina[residuales == 3.766]
# Calcular la media del tratamiento al que pertenece el dato atípico
media_tratamiento <- mean(df$diam_bot[df$lamina == tratamiento_atipico])
# Imputar el dato atípico con la media del tratamiento
df$diam_bot[df$diam_bot == 3.766] <- media_tratamiento
# Eliminar el dato atípico
df <- df[df$diam_bot != 3.766, ]
# Ejecutar la prueba de Kruskal-Wallis
kruskal_test_result <- kruskal.test(diam_bot ~ lamina, data = df)
print(kruskal_test_result)
##
## Kruskal-Wallis rank sum test
##
## data: diam_bot by lamina
## Kruskal-Wallis chi-squared = 87, df = 2, p-value <2e-16
El valor p obtenido en la prueba de Kruskal-Wallis es 0, lo que indica que hay diferencias significativas en los diámetros de botones entre al menos uno de los grupos definidos por la variable “lamina”. En otras palabras, la prueba sugiere que al menos uno de los tratamientos (láminas de agua) tiene un efecto significativo en los diámetros de botones.
Dado que el valor p es muy pequeño, rechazamos la hipótesis nula de que no hay diferencias significativas entre los grupos. Esto significa que al menos un grupo tiene un efecto significativo en los diámetros de botones.
La teoría indica que la prueba de Kruskal-Wallis es una alternativa no paramétrica al análisis de varianza (prueba F) y se considera una extensión de la prueba U de Mann-Whitney. Mientras que la prueba F del análisis de varianza se utiliza para comparar las medias de más de dos grupos, la prueba de Kruskal-Wallis se utiliza para comparar las medianas de más de dos grupos.
Ventajas de la prueba de Kruskal-Wallis en comparación con la prueba F del análisis de varianza:
Puede aplicarse a un gran número de situaciones. Se puede entender fácilmente de forma intuitiva. Puede utilizarse con tamaños de muestra más pequeños. Puede utilizarse con diversos tipos de datos. Necesita menos supuestos o menos estrictos sobre la naturaleza de la distribución de la población. Es generalmente robusto y no suele verse afectado por valores extremos en los datos, como los valores atípicos. Tiene un alto nivel de eficiencia relativa asintótica en comparación con las pruebas paramétricas clásicas . Es importante tener en cuenta que estas ventajas son generales y pueden variar dependiendo del contexto específico de la investigación. La elección entre la prueba de Kruskal-Wallis y la prueba F del análisis de varianza dependerá de varios factores, como el tipo de datos, los supuestos de la distribución y los objetivos de la investigación.
set.seed(123) # Para hacer la simulación reproducible
# Número de observaciones en cada grupo
n <- 30
# Generar datos simulados
grupo1 <- rnorm(n, mean = 5, sd = 2)
grupo2 <- rnorm(n, mean = 7, sd = 2)
grupo3 <- rnorm(n, mean = 6, sd = 2)
# Combinar los grupos en un solo conjunto de datos
datos_simulados <- data.frame(
Grupo = factor(rep(1:3, each = n)),
Valor = c(grupo1, grupo2, grupo3)
)
# Realizar ANOVA
resultado_anova <- anova(lm(Valor ~ Grupo, data = datos_simulados))
# Obtener el valor p
valor_p_anova <- resultado_anova$`Pr(>F)`[1]
# Establecer el nivel de significancia
alpha <- 0.05
# Contar cuántas veces se rechaza la hipótesis nula (diferencia detectada)
rechazos_anova <- sum(valor_p_anova < alpha)
# Calcular la potencia
potencia_anova <- rechazos_anova / 3000
# Realizar Kruskal-Wallis
resultado_kruskal <- kruskal.test(Valor ~ Grupo, data = datos_simulados)
# Obtener el valor p
valor_p_kruskal <- resultado_kruskal$p.value
# Establecer el nivel de significancia
alpha <- 0.05
# Contar cuántas veces se rechaza la hipótesis nula (diferencia detectada)
rechazos_kruskal <- sum(valor_p_kruskal < alpha)
# Calcular la potencia
potencia_kruskal <- rechazos_kruskal / 3000
tanto ANOVA como Kruskal-Wallis tienen una potencia alta en este escenario simulado.
Una potencia alta indica que estas pruebas son efectivas para detectar diferencias significativas cuando realmente existen. En este caso, ambas pruebas son capaces de detectar las diferencias entre los grupos con un alto grado de confianza.
Es importante tener en cuenta que la potencia de una prueba depende de varios factores, como el tamaño de la muestra, la magnitud de las diferencias entre los grupos y la variabilidad de los datos. En esta simulación, parece que las diferencias entre los grupos eran lo suficientemente grandes como para que tanto ANOVA como Kruskal-Wallis detectaran consistentemente estas diferencias.