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))

Definición del modelo y análisis de la varianza

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)

Suposiciones del ANCOVA

1. Igualdad de pendientes

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).

Análisis de Covarianza

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)

2. Linealidad de pendientes.

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")

3. Igualdad de los grupos respecto a la covariable.

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)

4. Homogeneidad de varianzas

leveneTest(pes1 ~ Alim, center = mean, data = ANC1) 

Análisis de covarianza usando la función modelo lineal (lm) Linear mode

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)

5. Normalidad de los residuos

Prueba de normalidad Shapiro-Wilk

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)

Pruebas de comparación múltiple de medias

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.lsm

Para desvincular de la memoria las variables archivo DBA, ejecute:

detach(ANC1)

Para borrar todos los objetos del Script, ejecute:

rm(list=ls())

Regresar a la página principal de Scripts