En un experimento con cerdos se evaluó el peso final (Y) de estos animales cuando fue suministrado 4 tipos de alimento balanceado “2”, “3”, “4”, “5” y un testigo identificado como “1”. Se pesó a los animales al iniciar el experimento, registrándose a este peso inicial como la variable X (covariable).
Importe el archivo “ancDCA.txt” desde una ubicación en Internet y cree el objeto “ANC1” de la siguiente manera:
ANC1<- fread("https://archive.org/download/ancDCA/ancDCA.txt",header=T, sep="\t", dec=",")Para visualizar el contenido de los primeros seis registros del archivo “ANC1” ejecute lo siguiente:
print(head(ANC1))Es necesario cargar en la memoria las variables del archivo ANC1, para acceder directamente a cada una de las variables, esto se logra mediante el uso del comando “attach”
attach(ANC1)Se crea un objeto tipo factor Alim con la columna Alimento
Alim<- factor(Alimento)Se crea un vector de datos Pesoi con la columna Peso.in (covariable)
Pesoi<-as.vector(Peso.in)Luego el vector Pesoi se convierte a un vector Pesi de tipo numérico
Pesi<-as.numeric(Pesoi)Se crea un vector de datos Pesf con la columna Peso.fin (variable respuesta)
pesf<-as.vector(Peso.fin)Luego el vector Pesf se convierte a un vector Pes1 de tipo numérico
pes1<-as.numeric(pesf)La interacción no es significativa, probar la igualdad de pendientes, o sea, que la covariable está asociada con la variable de respuesta de la misma manera entre los grupos (tratamientos).
result1 <- aov(pes1~Alim*Pesi,data = ANC1)result2<- aov(pes1~Alim+Pesi,data = ANC1)print(anova(result1,result2))En caso no se obtenga un resultado significativo, la relación es lineal
Otra forma para obtener Análisis de Covarianza
result3 <- aov(pes1~Alim+Pesi+Alim:Pesi,data = ANC1)summary(result3)Se observa las pendientes o las líneas de tendencia entre los grupos. Deberán verse más o menos iguales.
plot(Pesi, pes1, col = Alim, xlab = "Peso inicial", ylab = "Peso final")Realizar un ANOVA con la covariable y los tratamientos. No deberá encontrarse diferencias significativas
COV3<-aov(Pesi~Alim,data=ANC1)summary(COV3)Para realizar la prueba de homogeneidad de varianzas, se invoca el paquete “car”
library(car)leveneTest(pes1 ~ Alim, center = mean, data = ANC1) modCOV<-lm(pes1~Alim+Pesi,data=ANC1)Anova(modCOV, type="III")Se invoca para su uso el paquete “agricolae”
library(agricolae)Coeficiente de variación
cv.model(modCOV) Media general de la variable de respuesta
mean(ANC1[,3]) sumRes<-summary(modCOV)print(sumRes)Observe la estimación para peso inicial, es el coeficiente angular de la regresión (beta estimado)
Hipótesis
Ho: Los residuos siguen la distribución normal
Ha: Los residuos no siguen la distribución normal
Prueba de normalidad de Shapiro-wilk para los residuos
shapiro.test(modCOV$res)plot(modCOV)Como la covariable tiene un efecto significativo, es necesario ajustar las medias, se instala la biblioteca: “lsmeans” (Least-squares means)
install.packages('lsmeans')Se invoca para su uso el paquete “lsmeans”
library(lsmeans)Ajuste de medias
lsmeans(modCOV,~Alim)Comparaciones dos a dos con las medias corregidas:
medias.lsm <- lsmeans(modCOV, pairwise ~ Alim, glhargs=list());medias.lsmPara desvincular de la memoria las variables archivo DBA, ejecute:
detach(ANC1)Para borrar todos los objetos del Script, ejecute:
rm(list=ls())