Está en la página 1de 10

#================================Diseño Completamente al Azar

(DCA)=================================
#-------------------------------------Autor: Edras
Banegas---------------------------------------
now = Sys.time()
print(format(now, format="Fecha:%A, %B %e, %Y"))
print(format(now, format="Hora:%H:%M"))
Tipos_de_suelos <- read.csv("C:/Users/pc/OneDrive - Universidad Nacional Autónoma
de Honduras/Desktop/Edras/Seminario de Investigacion/Parcial-III/-0-.csv",
header=TRUE, sep=",", na.strings=".", dec=".")
Tipos_de_suelos2 <- na.omit(Tipos_de_suelos)
attach(Tipos_de_suelos2)
object.size(Tipos_de_suelos2)
noquote(names(Tipos_de_suelos2))

#===========================ESTADÍSTICAS DESCRIPTIVAS O
EXPLORATORIAS===============================
#--------------------------------------Medidas de Tendencia
Central---------------------------------
str(Tipos_de_suelos2) # Estructura de la base de datos.
summary(Tipos_de_suelos2)
# Cálculo de la Moda.
library(modeest)
mfv(Humedad)
# Cálculo de la Moda.
Moda <- table(Humedad)
Moda[Moda == max(Moda)]
#------------------------------------Medidas de Variabilidad o
Dispersión---------------------------
# Cálculo del Rango.
range(Humedad)
# Cálculo de los Cuartillos.
quantile(Humedad)
# Cálculo del Rango Inter-Cuartillo.
IQR(Humedad)
# Cálculo de la Varianza y la Desviación Estándar.
var(Humedad)
sd(Humedad)

#================================DEFINIR LOS FACTORES DEL


MODELO====================================
Respuesta <- Humedad
Híbridos <- factor(Muestra.de.suelo)

#======================GRÁFICA DE BARRAS CON EL ERROR ESTÁNDAR DE LA MEDIA


(EEM)====================
# CÁLCULO DEL ERROR ESTÁNDAR DE LA MEDIA.
Medias <- tapply(Respuesta,Híbridos,mean) # Cálculo de las medias.
Medias2 <- sort(Medias) # decreasing=T: revierte el orden de mayor a menor.
DE <- tapply(Respuesta,Híbridos,sd) # Cálculo de las desviaciones estándares.
n <- tapply(Respuesta,Híbridos,length)
EEM <- DE/sqrt(n)
# GRÁFICA DE BARRAS.
#jpeg('Barras-con-EEM.jpeg', units="in", width=4000, height=2800, res=300)
par(oma=c(1,9,0.01,1), bg="white", family="serif", cex.axis=1, col.axis="darkblue",
cex.lab=1.5, cex.main=1.5, cex.sub=1.5)
# Márgenes inferior, izquierdo, superior & derecho
y <- barplot(Medias2, xlim=c(-2,18), ylim=c(0,4), horiz=TRUE,
col=c("brown","black","antiquewhite3", "antiquewhite"), border="white", space=0,
yaxt="na",
xlab="Contenido de Humedad (%)", col.lab="black", font.lab=2,
font.axis=2,
main=expression(paste(bold("Comparacion de Cuatro Tipos de Suelos")))
title("(Media ± error estándar al 95 %)", line=0)
# RECONSTRUIR EL EJE Y.
axis(side=2, at=0.5:4, las=1, font.axis=2, ylab="", labels=paste(names(Medias2), "
(n = ",n,")", sep=""))
# AGREGAR EL ERROR ESTÁNDAR DE LA MEDIA.
segments(Medias2-EEM, y, Medias2+EEM, y, lwd=1.5)
arrows(Medias2-EEM, y, Medias2+EEM, y, length=0.05, code=3, angle=90)
# AGREGAR LAS MEDIAS.
a <- Medias2
x <- round(a, digits=2)
b <- format(x, nsmall=2, big.mark=",")
text(y, paste("ȳ =", labels=as.character(b)), pos=4)
# AGREGAR LAS MEDIAS.
points(x=Medias2, y=0.5:4, pch=21, col="black", bg="white")
# AGREGAR TICKMARKS
require(Hmisc, quietly=TRUE)
minor.tick(nx=3, ny=0, tick.ratio=0.5)
dev.off()

#====================GRÁFICA DE MEDIAS CON EL ERROR ESTÁNDAR DE LA MEDIA


(EEM)======================
require(plyr, quietly=TRUE)
nuevo_orden <- mutate(Tipos_de_suelos2, Híbridos.ordered =
reorder(Muestra.de.suelo, Humedad, mean, na.rm=T))
library(ggplot2)
#jpeg('Barras-con-EEM.jpeg', units="in", width=4000, height=2800, res=300)
A <- theme(plot.title=element_text(face="bold", size="14", color="black",
family="serif", hjust=0.5),
axis.title=element_text(face="bold", size="14", color="black",
family="serif"),
axis.text=element_text(face="bold", size="12", color="darkblue",
family="serif"),
axis.ticks=element_line(color="black", size=0.5),
panel.background=element_rect(fill="white", color="black"),
panel.grid.major.y=element_line(color="gray", linetype="dotted",
size=0.4),
panel.grid.minor.y=element_line(color="gray", linetype="dotted",
size=0.4),
panel.grid.major.x=element_line(color="gray", linetype="dotted",
size=0.4),
panel.grid.minor.x=element_line(color="gray", linetype="dotted",
size=0.4),
axis.ticks.length = unit(0.25, "cm"))
Lineas <- ddply(nuevo_orden, "Híbridos.ordered", summarize, RT.mean=mean(Humedad),
RT.sd=sd(Humedad), length=NROW(Humedad), Lower=RT.mean-2*RT.sd/sqrt(length),
Upper=RT.mean+2*RT.sd/sqrt(length))
ggplot(Lineas, aes(x=RT.mean, y=Híbridos.ordered)) + A +
stat_summary(geom="point", fun="mean", color="red", size=2.5, shape=15) +
geom_errorbarh(aes(xmin=Lower, xmax=Upper), height=.1) +
geom_vline(xintercept=mean(Humedad), linetype="dotted", size=1, color="blue") +
labs(x="Rendimientos Totales (kg/ha)", y="", title="Evaluación de Híbridos de
Sorgo\n(Media ± error estándar)")
dev.off()
# linetype= solid, dashed, dotted
#========================GRÁFICA DE BARRAS CON INTERVALO DE CONFIANZA (IC) AL
95%===================
# CÁLCULO DEL INTERVALO DE CONFIANZA.
IC <- EEM*qt(.975,32) # Cálculo del intervalo de confianza al 95%.
# 95% IC para cada µ = media ± (1.96 x EEM).
# Para el cálculo del IC al 99% usar: qt(.995,GL)
# GRÁFICA DE BARRAS.
#jpeg('Barras-con-EEM.jpeg', units="in", width=4000, height=2800, res=300)
par(oma=c(1,9,0.01,1), bg="white", family="sans", cex.axis=1, col.axis="darkblue",
cex.lab=1.5, cex.main=1.5, cex.sub=1.5)
# Márgenes inferior, izquierdo, superior & derecho
z <- barplot(Medias2, xlim=c(-2,18), ylim=c(0,4), horiz=TRUE, col=heat.colors(4),
border="white", space=0, yaxt="na",
xlab=" ", col.lab="black", font.lab=2, font.axis=2,
main=expression(paste(bold("Comparacion de Cuatro Tipos de
Suelo"),"("*bolditalic(" ")*")")))
title("(Media ± error estándar)", line=0)
# RECONSTRUIR EL EJE Y.
axis(side=2, at=0.5:4, las=1, font.axis=2, ylab="Contenido de Humedad (%)",
labels=paste(names(Medias2), " (n = ",n,")", sep=""))
# AGREGAR INTERVALO DE CONFIANZA A LAS MEDIAS.
segments(Medias2-IC, z, Medias2+IC, z, lwd=1)
arrows(Medias2-IC, z, Medias2+IC, z, length=0.05, code=3, angle=90)
# AGREGAR LAS MEDIAS.
text(y, paste("ȳ =", labels=as.character(b)), pos=4)
# AGREGAR LAS MEDIAS.
points(x=Medias2, y=0.5:33, pch=21, col="black", bg="white")
# AGREGAR TICKMARKS
library(Hmisc, quietly=TRUE)
minor.tick(nx=3, ny=0, tick.ratio=0.5)
dev.off()

#====================================DIAGRAMAS DE
CAJA==============================================
require(plyr, quietly=TRUE)
nuevo_orden <- mutate(Producción_de_grano2, Híbridos.ordered = reorder(Híbridos,
Respuesta, mean, na.rm=T))
#jpeg('Barras-con-EEM.jpeg', units="in", width=4000, height=2800, res=400)
par(oma=c(1,13,1,1), bg="white", family="mono", cex.axis=1, col.axis="darkblue",
cex.lab=1.5, cex.main=1.5, cex.sub=1.5)
# Márgenes inferior, izquierdo, superior & derecho.
b <- boxplot(Respuesta ~ Híbridos.ordered, data=nuevo_orden, horizontal=TRUE,
notch=FALSE, frame.plot=FALSE, col=rainbow(4), outline=TRUE, outpch=21,
outcol="red", outbg="red", yaxt="na",
xlab="Rendimientos Totales (kg/ha)", col.lab="black", font.lab=2,
font.axis=2, ylab="",
main=expression(paste(bold("Evaluación de Híbridos de Sorgo
"),"("*bolditalic("Sorghum bicolor")*")")))
# RECONSTRUIR EL EJE Y.
axis(side=2, at=1:length(b$names), las=1, font.axis=2, labels=paste(b$names," (n =
",b$n,")", sep=""))
# AGREGAR LAS MEDIAS.
Medias <- tapply(Respuesta,Híbridos,mean)
Medias2 <- sort(Medias, decreasing=FALSE)
points(x=Medias2, y=1:33, pch=21, col="red", bg="white") # bg = relleno del pch
# AGREGAR LAS OBSERVACIONES.
stripchart(Respuesta ~ Híbridos.ordered, vertical=FALSE, data=nuevo_orden,
add=TRUE, pch=21, col="black", bg=NULL)
# AGREGAR TICKMARKS
library(Hmisc, quietly=TRUE)
minor.tick(nx=3, ny=0, tick.ratio=0.5)
grid()
dev.off()

# Cálculo de las medianas


Medianas <- tapply(Respuesta,Híbridos,median)
Medianas2 <- sort(Medianas)
Medianas2
# Cálculo de las medias
Medias <- tapply(Respuesta,Híbridos,mean)
Medias2 <- sort(Medias)
Medias2
# Cálculo de los cuartillos
Cuantiles <- tapply(Respuesta,Híbridos,quantile)
Cuantiles

identify(Respuesta,Híbridos)

#=======================================GRÁFICAS TIPO
VIOLÍN========================================
nuevo_orden <- mutate(Producción_de_grano2, Híbridos.ordered = reorder(Híbridos,
Respuesta, mean, na.rm=T))
library("vioplot")
#jpeg('Barras-con-EEM.jpeg', units="in", width=4000, height=2800, res=400)
par(oma=c(1,6,1,1), bg="white", family="serif", cex.axis=1, col.axis="darkblue",
cex.lab=1.5, cex.main=1.5, cex.sub=1.5)
# Márgenes inferior, izquierdo, superior & derecho
w <- vioplot(Respuesta ~ Híbridos.ordered, data=nuevo_orden, horizontal=TRUE,
las=1, drawRect=TRUE, rectCol="blue", lineCol="blue", lty=1, lwd=1, colMed="black",
plotCentre="line", border="black", frame.plot=FALSE, font.axis=2,
xlab="Rendimientos Totales (kg/ha)", ylab ="", col=heat.colors(33),
main=expression(paste(bold("Evaluación de Híbridos de Sorgo
"),"("*bolditalic("Sorghum bicolor")*")")))
# AGREGAR LAS MEDIAS.
Medias <- tapply(Respuesta,Híbridos,mean)
Medias2 <- sort(Medias, decreasing=FALSE)
points(x=Medias2, y=1:33, pch=21, col="red", bg="white") # bg = relleno del pch
# AGREGAR LAS OBSERVACIONES.
stripchart(Respuesta ~ Híbridos.ordered, data=nuevo_orden, method="overplot",
col="black", vertical=FALSE, pch=20, add=TRUE)
# AGREGAR LA MEDIA GENERAL
abline(v=mean(Respuesta), col="black", lwd=2, lty=3)
# AGREGAR TICKMARKS.
require(Hmisc, quietly=TRUE)
minor.tick(nx=3, ny=0, tick.ratio=0.5)
grid()
dev.off()

#=====================================GRÁFICAS TIPO
VIOLÍN==========================================
require(plyr, quietly=TRUE)
nuevo_orden <- mutate(Producción_de_grano2, Híbridos.ordered = reorder(Híbridos,
Respuesta, mean, na.rm=T))
library(ggplot2)
B <- theme(plot.title=element_text(face="bold", size="14", color="black",
family="serif", hjust=0.5),
axis.title=element_text(face="bold", size="12", color="black",
family="serif"),
axis.text=element_text(face="bold", size="9", color="darkblue",
family="serif"),
axis.ticks=element_line(color="black", size=0.5),
panel.background=element_rect(fill="white", color="black"),
panel.grid.major.y=element_line(color="gray", linetype="dotted",
size=0.4),
panel.grid.minor.y=element_line(color="gray", linetype="dotted",
size=0.4),
panel.grid.major.x=element_line(color="gray", linetype="dotted",
size=0.4),
panel.grid.minor.x=element_line(color="gray", linetype="dotted",
size=0.4),
axis.ticks.length = unit(0.25, "cm"), legend.position="none")
Violines <- ggplot(nuevo_orden, aes(x=Respuesta, y=Híbridos.ordered,
fill=Híbridos.ordered)) + B +
geom_violin() + geom_boxplot(color="black", width=0.20) +
geom_point(color="black", alpha=0.5, size=1.5) +
stat_summary(geom="point", fun="mean", color="red", size=1.5, shape=15) +
geom_vline(xintercept=mean(Respuesta), linetype="dotted", size=0.5, color="red")
+
labs(title="Evaluación de Híbridos de Sorgo", x="Rendimientos Totales (kg/ha)",
y="")
ggsave(filename="Diagrama-de-violines.jpeg", plot=Violines, units="in", width=8,
height=6, dpi=300)
# linetype= solid, dashed, dotted

#=====================================ANÁLISIS DE
VARIANZA==========================================
# Hipótesis (Híbridos):
# Ho: µ1 = µ2 = µ3 = µ4 = µ5 = µ6 = ... = µ33
# Ha: al menos una µ es diferente.

# Modelo: yᵢ = µ + αᵢ + εᵢ

require(car, quietly=TRUE)
options(contrasts=c("contr.sum", "contr.poly"))
options(digits=5, show.signif.stars=TRUE) # Para que los asteriscos de
significancia aparezcan o no.
Modelo1 <- lm(Respuesta ~ Híbridos, data=Tipos_de_suelos2)
Anova(Modelo1, type="III") # El tipo III es un diseño carente de ortogonalidad, es
decir, no es balanceado (No hay el mismo No. de repeticiones/tratamiento).
summary(Modelo1, multivariate=TRUE) # Recupera el R-Squared (Cantidad de variación
explicada a través del modelo).
attributes(Modelo1)
# Cálculo del Coeficiente de Variación.
library(agricolae)
cv.model(Modelo1)

#===============================VISUALIZACIÓN DE ERRORES
EXPERIMENTALES=============================
par(oma=c(0,0,0,0), bg="white", family="mono", cex.axis=1, col.axis="darkblue",
cex.lab=1.5, cex.main=1.5, cex.sub=1.5)
# Márgenes inferior, izquierdo, superior & derecho.) # Márgenes inferior,
izquierdo, superior & derecho.
plot(1:99, Respuesta, ylim=c(0,6500), pch=21, col="black", bg="red", las=1,
ylab="", col.lab="darkblue", font.lab=2,
main="Gráfica de Errores Experimentales", col.main="black", frame.plot=FALSE)
abline(h=mean(Respuesta), col="blue")
for(i in 1:99) lines(c(i,i), c(mean(Respuesta), Respuesta[i]), col="green")
grid()

residuals(Modelo1) # Esto me permite ver los residuos.

#========================NORMALIDAD DE LOS ERRORES EXPERIMENTALES


(GRÁFICAS)========================
#----------------------------HISTOGRAMA DE LOS RESIDUOS
ESTANDARIZADOS------------------------------
par(oma=c(0,0,0,0), bg="white", family="mono", cex.axis=1, col.axis="darkblue",
cex.lab=1.5, cex.main=1.5, cex.sub=1.5)
# Márgenes inferior, izquierdo, superior & derecho.
hist(rstandard(Modelo1), breaks="Freedman-Diaconis", xlim=c(-5,5), ylim=c(0,0.45),
col="lightblue", border="black", probability=TRUE, las=1, labels=FALSE, lwd=2,
xlab="RESIDUOS ESTANDARIZADOS", ylab="DENSIDAD", col.lab="darkblue",
font.lab=2,
main="DISTRIBUCIÓN DE LOS RESIDUOS ESTANDARIZADOS", col.main="black")
grid()
#---------------------------SUPERPONER LA LÍNEA NORMAL SOBRE EL
HISTOGRAMA--------------------------
curve(dnorm, add=TRUE, lwd=2, col="blue")
# breaks = Sturges (opción predertinada), Scott, Freedman-Diaconis

#-------------------------------Q-Q PLOT con identificación de


outliers-----------------------------
par(oma=c(0,0,0,0), bg="white", family="mono", cex.axis=1, col.axis="darkblue",
cex.lab=1.5, cex.main=1.5, cex.sub=1.5)
# Márgenes inferior, izquierdo, superior & derecho.
plot(Modelo1, which=2, col="blue", las=1, grid(),
xlab="CUANTILES TEÓRICOS", col.lab="darkblue", font.lab=2,
main="DIAGRAMA Q-Q NORMAL", col.main="black", frame.plot=FALSE)

#-------------------------------------LA PRUEBA DE SHAPIRO-


WILK-------------------------------------
# Hipótesis:
# Ho: Residuos estandarizados están normalmente distribuidos.
# Ha: Residuos estandarizados no están normalmente distribuidos.

library(nortest)
shapiro.test(rstandard(Modelo1))

# Usar la prueba de Shapiro-Wilk cuando N ≤ 50.


# Sí el p-value ≤ 0.05 entonces se rechaza la Ho en favor de la Ha.
# Sí el p-value > 0.05 entonces no se puede rechazar la Ho.

#-----------------------------------LA PRUEBA DE KOLMOGOROV-


SMIRNOV---------------------------------
# Hipótesis:
# Ho: Residuos estandarizados están normalmente distribuidos.
# Ha: Residuos estandarizados no están normalmente distribuidos.

library(nortest)
lillie.test(rstandard(Modelo1))

# Usar la prueba de Kolmogorov-Smirnov cuando N > 50.


# Sí el p-value ≤ 0.05 entonces se rechaza la Ho en favor de la Ha.
# Sí el p-value > 0.05 entonces no se puede rechazar Ho.

#-----------------------------------LA PRUEBA DE ANDERSON-


DARLING-----------------------------------
# Hipótesis:
# Ho: Residuos estandarizados están normalmente distribuidos.
# Ha: Residuos estandarizados no están normalmente distribuidos.

library(nortest)
ad.test(rstandard(Modelo1))

# Sí el p-value ≤ 0.05 entonces se rechaza la Ho en favor de la Ha.


# Sí el p-value > 0.05 entonces no se puede rechazar la Ho.

#-----------------------------------LA PRUEBA DE CRAMER-VON


MISES-----------------------------------
# Hipótesis:
# Ho: Residuos estandarizados están normalmente distribuidos.
# Ha: Residuos estandarizados no están normalmente distribuidos.

library(nortest)
cvm.test(rstandard(Modelo1))

# Sí el p-value ≤ 0.05 entonces se rechaza la Ho en favor de la Ha.


# Sí el p-value > 0.05 entonces no se puede rechazar Ho.

#========================PRUEBA DE AUTOCORRELACIÓN DE ERRORES


EXPERIMENTALES========================
# Hipótesis:
# Ho: Residuos estandarizados son independientes los unos de los otros.
# Ha: Residuos estandarizados están correlacionados.

require(lmtest, quietly=TRUE)
dwtest(Modelo1) # La prueba de Durbin-Watson para errores experimentales
independientes.

resd=resid(Modelo1) # Cálculo manual del estadístico del test de Durbin-Watson.


data.frame(resd) # Presentación de los residuos en forma tabulada.

#============================HOMOGENEIDAD DE VARIANZAS
(Homocedasticidad)===========================
#---------------------------------------La Prueba de
Levene-----------------------------------------
# Hipótesis:
# Ho: σ²1 = σ²2 = σ²3 = σ²4 = ... = σ²33
# Ha: al menos una σ² es diferente.

library(car)
leveneTest(Respuesta ~ Híbridos, center=mean)

# Sí el p-value ≤ 0.05 entonces se rechaza la Ho en favor de la Ha.


# Sí el p-value > 0.05 entonces no se puede rechazar la Ho.

#-----------------------La Prueba de Fligner-Killeen para comparar


varianzas------------------------
# Hipótesis:
# Ho: σ²1 = σ²2 = σ²3 = σ²4 = ... = σ²33
# Ha: al menos una σ² es diferente.

fligner.test(Respuesta ~ Híbridos)

# Sí el p-value ≤ 0.05 entonces se rechaza la Ho en favor de la Ha.


# Sí el p-value > 0.05 entonces no se puede rechazar la Ho.
#---------------------------------------La Prueba de
Bartlett---------------------------------------
# Hipótesis:
# Ho: σ²1 = σ²2 = σ²3 = σ²4 = ... = σ²33
# Ha: al menos una σ² es diferente.

bartlett.test(Respuesta ~ Híbridos)

# Sí el p-value ≤ 0.05 entonces se rechaza la Ho en favor de la Ha.


# Sí el p-value > 0.05 entonces no se puede rechazar la Ho.

#----------------------------------------------------------------------------------
-----------------
# Hipótesis:
# Ho: σ²1 = σ²2 = σ²3 = σ²4 = ... = σ²33
# Ha: al menos una σ² es diferente.

library(car)
ncvTest(Modelo1) # Non constant variance test

# Sí el p-value ≤ 0.05 entonces se rechaza la Ho en favor de la Ha.


# Sí el p-value > 0.05 entonces no se puede rechazar la Ho.

#===================================PRUEBAS DE SEPARACIÓN DE
MEDIAS=================================
#------------------------------DIFERENCIA SIGNIFICATIVA HONESTA DE
TUKEY----------------------------
library(agricolae)
Medias.Híbridos.Tukey <- HSD.test(Modelo1, "Híbridos", main="Comparacion de Cuatro
Tipos de Suelo", group=TRUE, console=TRUE, alpha=0.05)
Medias.Híbridos.Tukey$statistics # Permite recuperar la media poblacional, el
coeficiente de variación.

#--------------------------GRÁFICA DE BARRAS CON SEPARACIÓN DE MEDIAS DE


TUKEY----------------------
#jpeg('Barras-con-EEM.jpeg', units="in", width=4000, height=2800, res=400)
par(oma=c(1,12,1,1), bg="white", family="mono", cex.axis=1, col.axis="darkblue",
cex.lab=1.5, cex.main=1.5, cex.sub=1.5)
# Márgenes inferior, izquierdo, superior & derecho.
bar.group(x=Medias.Híbridos.Tukey$groups, xlim=c(-100,6500), col=topo.colors(33),
horiz=TRUE, border="white", lwd=1, space=0, yaxt="na",
xlab="Rendimientos Totales (kg/ha)", col.lab="black", font.lab=2,
font.axis=2,
main="DIFERENCIA SIGNIFICATIVA HONESTA DE TUKEY\n(Media ± error
estándar)", col.main="black")
# RECONSTRUIR EL EJE Y.
h <- sort(x, decreasing=TRUE)
axis(side=2, at=0.5:33, las=1, font.axis=2, lwd=1, ylab="", labels=paste(names(h),
" (n = ",n,")", sep=""))
# AGREGAR EL ERROR ESTÁNDAR DE LA MEDIA.
segments(h-EEM, y, h+EEM, y, lwd=1.5)
arrows(h-EEM, y, h+EEM, y, length=0.07, code=3, angle=90)
# AGREGAR LAS MEDIAS.
c <- format(h, nsmall= 2, big.mark=",")
text(y, paste("y =", labels=as.character(c)), pos=4)
# AGREGAR LAS MEDIAS.
points(x=h, y=0.5:33, pch=21, col="black", bg="white")
# AGREGAR TICKMARKS
library(Hmisc, quietly=TRUE)
minor.tick(nx=3, ny=0, tick.ratio=0.5)
dev.off()

#------------------------------DIFERENCIA MENOS SIGNIFICATIVA DE


FISHER-----------------------------
library(agricolae)
Medias.Híbridos.Fisher <- LSD.test(y=Modelo1, trt="Híbridos", main="Comparación de
Híbridos de Sorgo", group=TRUE, console=TRUE, alpha=0.05)
Medias.Híbridos.Fisher$statistics # Recuperar la media poblacional & el coeficiente
de variación.
# 95% intervalo de confianza para µ = media ± (1.96 x desviación estándar) / Raíz
cuadrada de n.
# 99% intervalo de confianza para µ = media ± (2.58 x desviación estándar) / Raíz
cuadrada de n.

#------------------------GRÁFICA DE BARRAS CON SEPARACIÓN DE MEDIAS DE


FISHER-----------------------
#jpeg('Barras-con-EEM.jpeg', units="in", width=4000, height=2800, res=400)
par(oma=c(1,9,1,1), bg="white", family="serif", cex.axis=1, col.axis="darkblue",
cex.lab=1.5, cex.main=1.5, cex.sub=1.5)
# Márgenes inferior, izquierdo, superior & derecho.
bar.group(x=Medias.Híbridos.Fisher$groups, xlim=c(-100,6500), horiz=TRUE,
col=terrain.colors(33), border="white", lwd=1, space=0, yaxt="na",
xlab="Rendimientos Totales (kg/ha)", col.lab="black", font.lab=2,
font.axis=2,
main="DIFERENCIAS MENOS SIGNIFICATIVAS DE FISHER\n(Media ± error
estándar)", col.main="black")
# RECONSTRUIR EL EJE Y.
axis(side=2, at=0.5:33, las=1, font.axis=2, lwd=1, ylab="", labels=paste(names(h),
" (n = ",n,")", sep=""))
# col.axis establece el color de los valores en el eje.
# AGREGAR EL ERROR ESTÁNDAR DE LA MEDIA.
segments(h-EEM, y, h+EEM, y, lwd=1.5)
arrows(h-EEM, y, h+EEM, y, length=0.07, code=3, angle=90)
# AGREGAR LAS MEDIAS.
text(y, paste("y =", labels=as.character(c)), pos=4)
# AGREGAR LAS MEDIAS.
points(x=h, y=0.5:33, pch=21, col="black", bg="white")
# AGREGAR TICKMARKS
library(Hmisc, quietly=TRUE)
minor.tick(nx=3, ny=0, tick.ratio=0.5)
dev.off()

#--------------------------------COMPARACIONES MÚLTIPLES DE
DUNCAN----------------------------------
Medias.Híbridos.Duncan <- duncan.test(y=Modelo1, trt="Híbridos", main="Comparacion
de Cuatro Tipos de Suelo", group=TRUE, console=TRUE, alpha=0.05)
Medias.Híbridos.Duncan$statistics # Recupera la media poblacional & el coeficiente
de variación.

#------------------------GRÁFICA DE BARRAS CON SEPARACIÓN DE MEDIAS DE


DUNCAN-----------------------
#jpeg('Barras-con-EEM.jpeg', units="in", width=4000, height=2800, res=400)
par(oma=c(1,9,1,1), bg="white", family="sans", cex.axis=1, col.axis="darkblue",
cex.lab=1.5, cex.main=1.5, cex.sub=1.5)
# Márgenes inferior, izquierdo, superior & derecho.
bar.group(x=Medias.Híbridos.Duncan$groups, xlim=c(-100,6500), horiz=TRUE,
col=cm.colors(33), border="white", lwd=1, space=0, yaxt="na",
xlab="Rendimientos Totales (kg/ha)", col.lab="black", font.lab=2,
font.axis=2,
main="PRUEBA DE RANGO MÚLTIPLE DE DUNCAN\n(Media ± error estándar)",
col.main="black")
# RECONSTRUIR EL EJE Y.
axis(side=2, at=0.5:33, las=1, font.axis=2, lwd=1, ylab="", labels=paste(names(h),
" (n = ",n,")", sep=""))
# col.axis establece el color de los valores en el eje.
# AGREGAR EL ERROR ESTÁNDAR DE LA MEDIA.
segments(h-EEM, y, h+EEM, y, lwd=1.5)
arrows(h-EEM, y, h+EEM, y, length=0.07, code=3, angle=90)
# AGREGAR LAS MEDIAS.
text(y, paste("y =", labels=as.character(c)), pos=4)
# AGREGAR LAS MEDIAS.
points(x=h, y=0.5:33, pch=21, col="black", bg="white")
# AGREGAR TICKMARKS
library(Hmisc, quietly=TRUE)
minor.tick(nx=3, ny=0, tick.ratio=0.5)
dev.off()

#-----------------------------------PRUEBA DE STUDENT-NEWMAN-
KEULS----------------------------------
require(agricolae)
Medias.Híbridos.SNK <- SNK.test(Modelo1, "Híbridos", main="Comparacion de Cuatro
Tipos de Suelo", group=TRUE, console=TRUE, alpha=0.05)
Medias.Híbridos.SNK$statistics

#-----------------GRÁFICA DE BARRAS CON SEPARACIÓN DE MEDIAS DE STUDENT-NEWMAN-


KEULS----------------
#jpeg('Barras-con-EEM.jpeg', units="in", width=4000, height=2800, res=400)
par(oma=c(1,9,1,1), bg="white", family="sans", cex.axis=1, col.axis="darkblue",
cex.lab=1.5, cex.main=1.5, cex.sub=1.5)
# Márgenes inferior, izquierdo, superior & derecho.
bar.group(x=Medias.Híbridos.Duncan$groups, xlim=c(-2,18), horiz=TRUE,
col=cm.colors(33), border="white", lwd=1, space=0, yaxt="na",
xlab="Rendimientos Totales (kg/ha)", col.lab="black", font.lab=2,
font.axis=2,
main="PRUEBA DE STUDENT-NEWMAN-KEULS\n(Media ± error estándar)",
col.main="black")
# RECONSTRUIR EL EJE Y.
axis(side=2, at=0.5:33, las=1, font.axis=2, lwd=1, ylab="", labels=paste(names(h),
" (n = ",n,")", sep=""))
# col.axis establece el color de los valores en el eje.
# AGREGAR EL ERROR ESTÁNDAR DE LA MEDIA.
segments(h-EEM, y, h+EEM, y, lwd=1.5)
arrows(h-EEM, y, h+EEM, y, length=0.07, code=3, angle=90)
# AGREGAR LAS MEDIAS.
text(y, paste("y =", labels=as.character(c)), pos=4)
# AGREGAR LAS MEDIAS.
points(x=h, y=0.5:33, pch=21, col="black", bg="white")
# AGREGAR TICKMARKS
library(Hmisc, quietly=TRUE)
minor.tick(nx=3, ny=0, tick.ratio=0.5)
dev.off()

detach(Producción_de_grano2)

También podría gustarte