Diseño Cuadrado Latino

Factorial Simple en Bloques al Azar (FSBA)

  • Un solo factor
  • Dos factores de bloqueo
lote <- c(rep("lote1",1),
          rep("lote2",1), 
          rep("lote3",1), 
          rep("lote4",1), 
          rep("lote5",1))

gen <- c(rep("genA",5), 
         rep("genB",5), 
         rep("genC",5), 
         rep("genD",5), 
         rep("genE",5))

prov <- c("A","E","C","B","D",
          "C","B","A","D","E", 
          "B","C","D","E","A", 
          "D","A","E","C","B", 
          "E","D","B","A","C")

biom <- c(42,45,41,56,47, 
          47,54,46,52,49, 
          55,52,57,49,45, 
          51,44,47,50,54, 
          44,50,48,43,46)
 
data <- data.frame(lote, gen, prov, biom)

head(data)
##    lote  gen prov biom
## 1 lote1 genA    A   42
## 2 lote2 genA    E   45
## 3 lote3 genA    C   41
## 4 lote4 genA    B   56
## 5 lote5 genA    D   47
## 6 lote1 genB    C   47

Graficos descriptivos

library(lattice)

bwplot(biom ~ gen | prov + lote, data)

Modelo

\[y_{ijk} = \mu + \tau_i + \beta_j + \delta_k + \epsilon_{ijk}\]

\(i=1,\dots,p\) \(j=1,\dots,p\) \(k=1,\dots,p\)

tbl = matrix(data$prov, 5)
colnames(tbl) = unique(data$genotipo)
rownames(tbl) = unique(data$lote)
tbl
##       [,1] [,2] [,3] [,4] [,5]
## lote1 "A"  "C"  "B"  "D"  "E" 
## lote2 "E"  "B"  "C"  "A"  "D" 
## lote3 "C"  "A"  "D"  "E"  "B" 
## lote4 "B"  "D"  "E"  "C"  "A" 
## lote5 "D"  "E"  "A"  "B"  "C"

\[H_0: \mu_{B_{g_1}} = \mu_{B_{g_2}} = \mu_{B_{g_3}} = \mu_{B_{g_4}} = \mu_{B_{g_5}}\]

mod <- lm(biom ~ lote + gen + prov, data)
anova(mod)
## Analysis of Variance Table
## 
## Response: biom
##           Df Sum Sq Mean Sq F value   Pr(>F)    
## lote       4  17.76   4.440  0.7967 0.549839    
## gen        4 109.36  27.340  4.9055 0.014105 *  
## prov       4 286.16  71.540 12.8361 0.000271 ***
## Residuals 12  66.88   5.573                     
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
bwplot(biom ~ gen | prov,
       data)

library(ggplot2)
ggplot(data)+
  aes(x=prov,
      y=biom,
      fill=gen)+ 
      geom_col(
      position = 'dodge')

REvision de supuestos

res_mod = mod$residuals

# 1.Normalidad
shapiro.test(res_mod)
## 
##  Shapiro-Wilk normality test
## 
## data:  res_mod
## W = 0.97691, p-value = 0.8178
# Se cumple el supuesto de normalidad

# 2.Igualdad de varianzas
bartlett.test
## function (x, ...) 
## UseMethod("bartlett.test")
## <bytecode: 0x000002c713d508b0>
## <environment: namespace:stats>
# Se cumple el supiuesto (Varianzas iguales)
library(TukeyC)

tt = TukeyC(mod, 'gen')
plot(tt, lwd=2, cex=2)