set.seed(1617)

# Covariable:  Peso inicial de cubos
pic = runif(120, 0.9, 1.3)
pic = round(sort.int(pic, 6), 2)

# Bloque: Laboratorio
lab = gl(2, 10, 120, c('biol','alim'))

# Factor 1: Tiempo de Coccion
tiemp = gl(3, 40, 120, c(0, 10, 12))

# Factor 2: Vierdades
varie = gl(2, 20, 120, c('var1', 'var2'))

# Variable: Compuestos Fenolicos
cf = c(rnorm(40, 20, 1),
       rnorm(40, 12, 1.2),
       rnorm(40, 16, 1.15))

df = data.frame(lab, varie, tiemp, cf, pic)
head(df)
##    lab varie tiemp       cf  pic
## 1 biol  var1     0 19.23917 0.90
## 2 biol  var1     0 19.92898 0.91
## 3 biol  var1     0 18.34698 0.91
## 4 biol  var1     0 22.41811 0.91
## 5 biol  var1     0 20.38558 0.91
## 6 biol  var1     0 19.52477 0.91
library(collapsibleTree)
collapsibleTreeSummary(
  df,
  hierarchy = c('lab','varie','tiemp', "cf"))

ANCOVA para el modelo planteado

mod1 = aov(cf ~ lab + varie +  tiemp + pic, df)
summary(mod1)
##              Df Sum Sq Mean Sq F value Pr(>F)    
## lab           1    0.0     0.0   0.002 0.9691    
## varie         1    7.7     7.7   4.972 0.0277 *  
## tiemp         2 1278.4   639.2 414.025 <2e-16 ***
## pic           1    4.7     4.7   3.022 0.0848 .  
## Residuals   114  176.0     1.5                   
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

ANCOVA con interacciones

mod2 = aov(cf ~ lab*varie + tiemp + pic, df)
summary(mod2)
##              Df Sum Sq Mean Sq F value Pr(>F)    
## lab           1    0.0     0.0   0.002 0.9691    
## varie         1    7.7     7.7   4.962 0.0279 *  
## tiemp         2 1278.4   639.2 413.180 <2e-16 ***
## pic           1    4.7     4.7   3.016 0.0852 .  
## lab:varie     1    1.2     1.2   0.767 0.3829    
## Residuals   113  174.8     1.5                   
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

ANOVA

mod3 = aov(cf ~ tiemp*varie, df)
summary(mod3)
##              Df Sum Sq Mean Sq F value Pr(>F)    
## tiemp         2 1278.4   639.2 415.296 <2e-16 ***
## varie         1    7.7     7.7   4.987 0.0275 *  
## tiemp:varie   2    5.2     2.6   1.691 0.1888    
## Residuals   114  175.5     1.5                   
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
mod4 = aov(cf ~ lab*varie + tiemp, df)
summary(mod4)
##              Df Sum Sq Mean Sq F value Pr(>F)    
## lab           1    0.0     0.0   0.001 0.9694    
## varie         1    7.7     7.7   4.860 0.0295 *  
## tiemp         2 1278.4   639.2 404.697 <2e-16 ***
## lab:varie     1    0.6     0.6   0.386 0.5359    
## Residuals   114  180.1     1.6                   
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
lattice::bwplot(df$cf ~ df$tiemp | df$varie)

Eficiencia de bloqueo

H = 0/180.1
H
## [1] 0