Importe el archivo “Maiz.txt” desde una ubicación en Internet y cree el objeto “Fran” de la siguiente manera:
Fran<- fread("https://archive.org/download/byrong_Maiz/Maiz.txt",header=T, sep="\t", dec=",")Para visualizar el contenido de los primeros seis registros del archivo “Fran” ejecute:
print(head(Fran))Se crea un objeto tipo factor Ni con la columna Nitrog
Ni<- factor(Fran$Nitrog)Se crea un objeto tipo factor Ri con la columna Irrig
Riego<- factor(Fran$Riego)Se crea un objeto tipo factor BLOF con la columna Bloque
BLOF<-factor(Fran$Bloque)Se crea un vector de datos Re con la columna Rend (variable de respuesta)
Re<-as.vector(Fran$Rend)Luego el vector Rend se convierte a un vector Re1 de tipo numérico
Re1<-as.numeric(Re)Se invoca para su uso el paquete “agricolae”
library(agricolae)fran.anova<-strip.plot(BLOF, Ni, Riego, Re1)Para Dosis de Nitrógeno
FactorA<-HSD.test(Re1,Ni,fran.anova$gl.a,fran.anova$Ea);FactorAPara Niveles de Riego
FactorB<-HSD.test(Re1,Riego,fran.anova$gl.b,fran.anova$Eb);FactorBPara interacción de Dosis de Nitrógeno y Niveles de Riego
FactorAB<-HSD.test(Re1,Riego:Ni,fran.anova$gl.c,fran.anova$Ec);FactorABPruebas de comparación múltiple de medias y Gráficas de barras
Prueba HSD de Tukey para Dosis de Nitrógeno
out1<-with(Fran,HSD.test(Re1,Ni,fran.anova$gl.a,fran.anova$Ea));out1Gráfica de barras para Dosis de Nitrógeno
bar.err(out1$means, variation ="SE", ylim=c(0,90), xlab="Dosis de Nitrógeno", ylab="Rendimiento")Prueba HSD de Tukey para Niveles de Riego
out2<-with(Fran,HSD.test(Re1,Riego,fran.anova$gl.b,fran.anova$Eb));out2Gráfica de barras para Niveles de Riego
bar.err(out2$means, variation ="SE", ylim=c(0,90), xlab="Riego", ylab="Rendimiento")Prueba HSD de Tukey para la interacción
out3<-with(Fran,HSD.test(Re1,Riego:Ni,fran.anova$gl.c,fran.anova$Ec));out3Gráfica de barras para la interacción
bar.err(out3$means, variation ="SE", ylim=c(0,90), xlab="Riego por Nitrógeno", ylab="Rendimiento")Gráfico de interacción
interaction.plot(Ni,Riego,Re1, fixed=T, xlab="Dosis de Nitrógeno", ylab="Rendimiento", pch = c(20,21),type = "b") Se crea un vector de datos A
A<-fran.anova$dataSe crea una lista a con los niveles de Dosis de Nitrógeno
a<-nlevels(A$Ni)Se crea una lista b con los Niveles de riego
b<-nlevels(A$Riego)Se crea una lista r con los niveles de Bloques
r<-nlevels(A$BLOF)Se crean vectores de datos para los errores experimentales; a, b y c
Ea<-fran.anova$Ea; Eb<-fran.anova$Eb; Ec<-fran.anova$EcSe crean vectores de datos para los grados de libertad asociados a los errores a, b y c respectivamente
gla<-fran.anova$gl.a; glb<-fran.anova$gl.b; glc<-fran.anova$gl.cMedias de las interacciones
B <-tapply.stat(A[,4],A[,2:3],mean);BErrores estándar de las medias de las interacciones
std<-tapply.stat(A[,4],A[,2:3],function(x) sd(x)/sqrt(length(x)));stdMedias de las interacciones y sus errores estándares
B<-data.frame(B[,1:2],Re1=B[,3],std=std[,3]);BCuadrado medio de la interacción
cmab<-(b-1)*Ec + Eacmba<-(a-1)*Ec + EbRango estudiado para Dosis de Nitrógeno
ta <- qtukey(0.95,a,gla);taRango estudiado para Niveles de Riego
tb <- qtukey(0.95,b,glb);tbRango estudiado para Interacción
tc <- qtukey(0.95,a*b,glc);tctab<- ((b-1)*Ec*tc + Ea*ta)/cmab;tabtba<- ((a-1)*Ec*tc + Eb*tb)/cmba;tbaComparaciones de Dosis de Nitrógeno por Niveles de Riego
groups<-by(B,B[,2],function(x) order.group(x$Ni,x$Re1,N=b*r,cmab,tab,std.err=x$std,console=FALSE));groupsComparaciones de Niveles de Riego por Dosis de Nitrógeno
groups1<-by(B,B[,1], function(x) order.group(x$Riego,x$Re1,N=a*r,cmba,tba,std.err=x$std,console=FALSE));groups1summary(fran.anova)Para borrar todos los objetos del Script, ejecute:
rm(list=ls())