AUTOR:Selena Deyanira Rangel Ibarra, Marzo de 2022
MODELO DE BLOQUES Diseño y Análisis de Experimentos Universidad del SABES, Licenciatura en Ingeniería Industrial www.sabes.edu.mx Consultas técnicas: fnjimenez@gmail.com
Respaldo bibliográfico: Gutiérrez, P. H., & Vara, S. R. D. L. (2012). Análisis y diseño de experimentos (3a. ed.). México: McGraw-Hill Interamericana.
PLANTEAMIENTO
Fertilizantes <- read.csv("Fertilizantes.csv")
(Fertilizantes)
## Toneladas Tipo Tratamiento
## 1 1.640 B 1
## 2 1.475 C 2
## 3 1.670 A 3
## 4 1.565 D 4
## 5 1.210 D 1
## 6 1.185 A 2
## 7 0.710 C 3
## 8 1.290 B 4
## 9 1.425 C 1
## 10 1.400 D 2
## 11 1.665 B 3
## 12 1.665 A 4
## 13 1.345 A 1
## 14 1.290 B 2
## 15 1.180 D 3
## 16 0.660 C 4
#La función attach () nos permite acceder fácilmente a las “columnas” de un data frame “bade de datos”
attach(Fertilizantes)
#Para convertir una variable cualitativa o categórica en factorial, tenemos que emplear la función factor()
Tipo<-factor(Tipo)
#Para convertir una variable cualitativa o categórica en factorial, tenemos que emplear la función factor()
Tratamiento<-factor(Tratamiento)
#La función lm (linear model) de R se usa para ajustar un modelo de regresión lineal simple
Modelo <- lm(Toneladas ~ Tipo+Tratamiento)
#Para estimar el modelo ANOVA de una vía se usa la función aov( ), que sigue la estructura aov( variable dependiente ~ factor )
ANOVA <- aov(Modelo)
#La función summary, aplicada en este caso no a un vector o a una tabla sino al objeto resultante de la regresión lineal, muestra un resumen del modelo
summary(ANOVA)
## Df Sum Sq Mean Sq F value Pr(>F)
## Tipo 3 0.4294 0.14314 1.340 0.322
## Tratamiento 3 0.0293 0.00977 0.091 0.963
## Residuals 9 0.9617 0.10685
###ANALISIS:La tabla generada nos explica la cantidad de Tipo y Tratamiento por medio del ANOVA dando los residuals de los datos.
#Instalar paquetes necesarios…Tenemos que usar el comando install.packages() e introducir el nombre del paquete que queremos instalar entre comillas
install.packages("agricolae")
## Installing package into '/cloud/lib/x86_64-pc-linux-gnu-library/4.1'
## (as 'lib' is unspecified)
#Si ejecutamos directamente la función library () se abrirá una ventana listando los paquetes que tenemos instalados en R
library(agricolae)
#Comparaciones múltiples de tratamientos mediante LSD y una agrupación de tratamientos. El nivel por defecto alfa es 0.05. Devuelve valores p ajustados mediante uno de varios métodos
Grupos.Tipo <- LSD.test(y = ANOVA, trt = "Tipo",group = T, console = T)
##
## Study: ANOVA ~ "Tipo"
##
## LSD t Test for Toneladas
##
## Mean Square Error: 0.1068516
##
## Tipo, means and individual ( 95 %) CI
##
## Toneladas std r LCL UCL Min Max
## A 1.46625 0.2413978 4 1.0965213 1.835979 1.185 1.670
## B 1.47125 0.2095382 4 1.1015213 1.840979 1.290 1.665
## C 1.06750 0.4426153 4 0.6977713 1.437229 0.660 1.475
## D 1.33875 0.1795538 4 0.9690213 1.708479 1.180 1.565
##
## Alpha: 0.05 ; DF Error: 9
## Critical Value of t: 2.262157
##
## least Significant Difference: 0.5228754
##
## Treatments with the same letter are not significantly different.
##
## Toneladas groups
## B 1.47125 a
## A 1.46625 a
## D 1.33875 a
## C 1.06750 a
#El tratamiento mediante LSD nos arroja los valores p ajustados Tipo medio y individual que es (95 %) CI, con un Alpha de 0.05, un DF Error de 9, un valor critico de 2.262157 y una diferencia mínima significativa de 0.5228754. Que nos dice los tratamientos con la misma letra no son significativamente diferentes.
#Traza barras de los promedios de los tratamientos para comparar. Utiliza los objetos generados por un procedimiento de comparación como LSD, HSD, Kruskall, Waller-Duncan, Friedman o Durbin. También puede mostrar el valor “promedio” sobre cada barra en un gráfico de barras “LSD en este caso”
bar.group(x = Grupos.Tipo$groups, ylim=c(0,7),main="Prueba de comparación de medias por medio del método LSD", xlab="Tipo", ylab="Toneladas",col="red")
#La prueba de comparación de medias por medio del método LSD” nos muestra la gráfica donde el Tratamiento máximo es del Tipo a,B; manteniendo el tratamiento al segundo a,A; el tercero con menos tratamiento que es el a,D y el ultimo Tipo es el mínimo a,C.
Grupos.Tipo$statistics
## MSerror Df Mean CV t.value LSD
## 0.1068516 9 1.335938 24.46833 2.262157 0.5228754
#El resultado de las estadísticas del gráfico generado anteriormente nos explica que obtuvimos un Mserros de 0.1068516 con un t.value de 2.262157.
#El Test de Duncan o Prueba de Rangos Múltiples de Duncan permite comparar las medias de los “t niveles” de un factor después de haber utilizado ANOVA
Grupos.Tipo.Duncan <-duncan.test(y = ANOVA, trt = "Tipo", group = T, console = T)
##
## Study: ANOVA ~ "Tipo"
##
## Duncan's new multiple range test
## for Toneladas
##
## Mean Square Error: 0.1068516
##
## Tipo, means
##
## Toneladas std r Min Max
## A 1.46625 0.2413978 4 1.185 1.670
## B 1.47125 0.2095382 4 1.290 1.665
## C 1.06750 0.4426153 4 0.660 1.475
## D 1.33875 0.1795538 4 1.180 1.565
##
## Alpha: 0.05 ; DF Error: 9
##
## Critical Range
## 2 3 4
## 0.5228754 0.5457513 0.5589291
##
## Means with the same letter are not significantly different.
##
## Toneladas groups
## B 1.47125 a
## A 1.46625 a
## D 1.33875 a
## C 1.06750 a
#El grupo Tipo Duncan nos muestra la prueba de rango múltiple para las toneladas, con un error cuadrático medio de 0.1068516, y un tipo de Alpha de 0.05 con DF Error de 9, donde las toneladas se ajustan de acuerdo con su máximo y mínimo para poder obtener el ANOVA.
#Traza barras de los promedios de los tratamientos para comparar. Utiliza los objetos generados por un procedimiento de comparación como LSD, HSD, Kruskall, Waller-Duncan, Friedman o Durbin. También puede mostrar el valor “promedio” sobre cada barra en un gráfico de barras “DUNCAN en este caso”
bar.group(x = Grupos.Tipo.Duncan$groups, ylim=c(0,7), main="Prueba de comparación de medias por medio del método Duncan", xlab="Tipo", ylab="Toneladas", col="blue")
#El grafico de Prueba de comparación de medias por medio del método Duncan es muy similar al grafico de método LSD con algunas estadísticas posibles diferentes que a continuación explica el modelo arrojado.
qqnorm(rstandard(Modelo))
qqline(rstandard(Modelo))
#Existe una diferencia en los Tipos de Tratamiento, el grafico generado del modelo Q-QPlot nos explica que hay una cierta falla y no hay normalidad en los datos.
#Test de shaphiro #La prueba de Shapiro-Wilk o prueba de Shapiro es una prueba de normalidad en estadística frecuentista. La hipótesis nula de la prueba de Shapiro es que la población se distribuye normalmente. Es una de las tres pruebas de normalidad diseñadas para detectar todo tipo de desviación de la normalidad. Si el valor de p es igual o menor a 0,05, entonces la hipótesis de normalidad será rechazada por la prueba de Shapiro. Al fallar, la prueba puede indicar que los datos no se ajustarán a la distribución normalmente con un 95% de confianza. Sin embargo, al pasar, la prueba puede afirmar que no existe una desviación significativa de la normalidad.
shapiro.test(rstandard(Modelo))
##
## Shapiro-Wilk normality test
##
## data: rstandard(Modelo)
## W = 0.91288, p-value = 0.1295
#En base al resultado de la prueba de normalidad de Shapiro-Wilk, se calculó que los residuos estandarizados del modelo nos dan un valor de W = 0.91288, y un p-value de 0.1295. Entonces la prueba puede afirmar que no existe una desviación significativa de la normalidad.
a) ¿Existen diferencias en los rendimientos de las diferentes variedades de maíz?
#Si porque existen diferencias entre los tratamientos del valor-p que es menos que la significancia observada.
b) ¿Cuál de los factores de bloque tuvo efectos?
#El factor de gradiente de fertilidad de sueldo.
c) ¿Se habrían detectado las mismas diferencias en los tratamientos con un diseño completamente al azar?
#No, porque en este tipo de tratamiento en cuadro latino se controlan dos factores de bloqueo y se tienen cuatro fuentes de variabilidad para el modelo que pueden afectar la respuesta observada.
d) ¿Y con un diseño en bloques completos al azar?
#No, porque no contempla la posibilidad de comparar más de 1 factor.