Para iniciar se instalará el paquete de importación “data.table”. En este ejemplo resulta útil para importar un archivo en formato “txt”. En caso se cuente con el paquete ya instalado, omitir este paso.
install.packages("data.table")Invocar ahora la biblioteca data.table
library(data.table)Importe el archivo “Brocoli” desde una ubicación en Internet y cree el objeto “Fact” de la siguiente manera:
Fact<- fread("https://archive.org/download/Brocoli/Brocoli.txt",header=T, sep="\t", dec=",")Para visualizar el contenido de los primeros seis registros del archivo “Fact” ejecute:
print(head(Fact))Se crea un objeto tipo factor FA con la columna Híbrido
FA<- factor(Fact$Hib)Se crea un objeto tipo factor FB con la columna Distancia
FB<- factor(Fact$Dist)Se crea un objeto tipo factor BLF con la columna Bloque
BLF<-factor(Fact$Bloque)Se crea un vector de datos Ren con la columna Rendimiento
Ren<-as.vector(Fact$Rend)Luego el vector Ren se convierte a un vector Ren1 de tipo numérico
Ren1<-as.numeric(Ren)Diagrama de Interacción Para visualizar la interacción entre los efectos de dos factores (híbridos y distancias)
interaction.plot( FB,FA,Ren1, fixed=T, xlab="Distanciamiento", ylab="Rendimiento",col = "blue")fac.aov <- anova(aov(Ren1 ~ BLF + FA*FB))Para visualizar el contenido del anova “fac.aov” ejecute:
print(fac.aov)Otra forma de realizar el Análisis de varianza
modf<-aov(Ren1 ~ BLF + FA+FB+FA:FB)summary(modf)Se invoca para su uso el paquete “agricolae”
library(agricolae)Coeficiente de variación
cv.model(modf)Hipótesis
Ho: Los residuos siguen la distribución normal
Ha: Los residuos no siguen la distribución normal
Prueba de normalidad Shapiro-wilk para los residuos
shapiro.test(modf$res)Para construir el gráfico QQ plot y verificar la normalidad, se invoca el paquete “car”
library(car)qqPlot(modf)Gráfico de predichos contra residuos estandarizados
para evaluar los supuestos de homogeneidad de varianzas e independencias
Valores predicho
fitf <- fitted(modf)Residuos estandarizados
res_stf <- rstandard(modf)Gráfico de predichos contra residuos estandarizados para verificar la homogeneidad de varianzas e independencia de los residuos
plot(fitf,res_stf,xlab="Valores predichos", ylab="Residuos estandarizados",abline(h=0))Para el factor A (Híbridos)
outHSDFA<-HSD.test(modf, "FA",console=TRUE)Para el factor B (Distanciamientos)
outHSDFB<-HSD.test(modf, "FB",console=TRUE)Para la interacción
outf<-HSD.test(modf,c("FA","FB"),main="Ren1 ~ BLF + FA+FB+FA:FB",console=TRUE)Para el factor A (Híbridos)
outLSD <-LSD.test(modf,c("FA"),main="Ren1 ~ BLF + FA+FB+FA:FB",console=TRUE)Para el factor B (Distanciamientos)
outLSD <-LSD.test(modf,c("FB"),main="Ren1 ~ BLF + FA+FB+FA:FB",console=TRUE)Para la interacción
outLSD <-LSD.test(modf,c("FB","FA"),main="Ren1 ~ BLF + FA+FB+FA:FB",console=TRUE)Para el factor A (Híbridos)
SNK.test(modf,c("FA"),main="Ren1 ~ BLF + FA+FB+FA:FB",console=TRUE)Para el factor B (Distanciamientos)
SNK.test(modf,c("FB"),main="Ren1 ~ BLF + FA+FB+FA:FB",console=TRUE)Para interacción
SNK.test(modf,c("FA","FB"),main="Ren1 ~ BLF + FA+FB+FA:FB",console=TRUE)Para el factor A (Híbridos)
scheffe.test(modf,c("FA"),main="Ren1 ~ BLF + FA+FB+FA:FB",console=TRUE)Para el factor B (Distanciamientos)
scheffe.test(modf,c("FB"),main="Ren1 ~ BLF + FA+FB+FA:FB",console=TRUE)Para la interacción
scheffe.test(modf,c("FA","FB"),main="Ren1 ~ BLF + FA+FB+FA:FB",console=TRUE)Para el factor A (Híbridos)
duncan.test(modf,c("FA"),main="Ren1 ~ BLF + FA+FB+FA:FB",console=TRUE)Para el factor B (Distanciamientos)
duncan.test(modf,c("FB"),main="Ren1 ~ BLF + FA+FB+FA:FB",console=TRUE)Para la interacción
duncan.test(modf,c("FA","FB"),main="Ren1 ~ BLF + FA+FB+FA:FB",console=TRUE)Para el factor A (Híbridos)
LSD.test(modf,c("FA"),main="Ren1 ~ BLF + FA+FB+FA:FB", p.adj= "bon",console=TRUE)Para el factor B (Distanciamientos)
LSD.test(modf,c("FB"),main="Ren1 ~ BLF + FA+FB+FA:FB", p.adj= "bon",console=TRUE)Para la interacción
LSD.test(modf,c("FA","FB"),main="Ren1 ~ BLF + FA+FB+FA:FB", p.adj= "bon",console=TRUE)Para realizar la prueba de Scott-Knott se invoca el paquete “ScottKnott”
library(ScottKnott)Se realiza la prueba con un nivel de significancia de 5%, utilizando la información del modelo generado con la función aov Para el factor A (Híbridos)
ska <- SK(modf, which="FA", dispersion="se", sig.level=0.05)summary(ska)Para el factor B (Distanciamientos)
skb <- SK(modf, which="FB", dispersion="se", sig.level=0.05)summary(skb)Para borrar todos los objetos del Script, ejecute:
rm(list=ls())