Modelo \[y_{ijk} = \mu + \tau_i + \beta_{j} + \tau\beta_{ij} + \epsilon_{ijk} \]
\(i=1,2,\dots,a\text{num tratamientos}\) \(a\) números de niveles de factor \(j=1,2, \dots, b\) \(b\) número de bloques \(k=1,2, \dots, r_i\) \(r_i=\)
\[ Y_{ijk}: \mu + \tau_{i}+ \beta_{j}+ \epsilon_{ijk} i= 1,2\dots,a\text{Número de tratamientos}\\(a = numero de niveles de factores)\\ j=1,2,\dots,b\\ (b = numero de bloques)\\k=1,2\dots,r_i\\ r_i \]
set.seed(123)
aceite=c(
rnorm(12,10,0.8),
rnorm(12,11,0.78),
rnorm(11,9,0.7),
rnorm(12,10,0.8),
rnorm(12,11,0.78),
rnorm(11,9,0.7)
)
bloque = gl(2, 35, 70, c('b1', 'b2'))
metodo = rep(rep(c('T1', 'T2', 'T3'), c(12, 12, 11)), 2)
datos = data.frame(metodo, bloque, aceite)
head(datos)
## metodo bloque aceite
## 1 T1 b1 9.551619
## 2 T1 b1 9.815858
## 3 T1 b1 11.246967
## 4 T1 b1 10.056407
## 5 T1 b1 10.103430
## 6 T1 b1 11.372052
table(datos$metodo, datos$bloque)
##
## b1 b2
## T1 12 12
## T2 12 12
## T3 11 11
Corriendo como si fuera balanceado
mod1 = aov(aceite ~ bloque * metodo, datos)
summary(mod1)
## Df Sum Sq Mean Sq F value Pr(>F)
## bloque 1 0.05 0.054 0.107 0.745
## metodo 2 41.24 20.622 40.834 3.72e-12 ***
## bloque:metodo 2 0.65 0.323 0.640 0.531
## Residuals 64 32.32 0.505
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
mod1a = aov(aceite ~ metodo * bloque, datos)
summary(mod1a)
## Df Sum Sq Mean Sq F value Pr(>F)
## metodo 2 41.24 20.622 40.834 3.72e-12 ***
## bloque 1 0.05 0.054 0.107 0.745
## metodo:bloque 2 0.65 0.323 0.640 0.531
## Residuals 64 32.32 0.505
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Corriendo desbalanceado
mod2 = anova(lm(aceite ~ bloque * metodo, datos))
mod2
## Analysis of Variance Table
##
## Response: aceite
## Df Sum Sq Mean Sq F value Pr(>F)
## bloque 1 0.054 0.0541 0.1071 0.7446
## metodo 2 41.243 20.6217 40.8342 3.716e-12 ***
## bloque:metodo 2 0.646 0.3231 0.6399 0.5307
## Residuals 64 32.321 0.5050
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
mod2a = anova(lm(aceite ~ metodo * bloque, datos))
lote= c(rep("lote1", 1),
rep("lote2", 1),
rep("lote3", 1),
rep("lote4", 1),
rep("lote5", 1))
genotipo = c(rep("genotA",5),
rep("genotB",5),
rep("genotC",5),
rep("genotD",5),
rep("genotE",5))
proc_sem = 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")
biomasa= c(42,45,41,56,47, 47,54,46,52,49, 55,5|2,57,49,45,
51,44,47,50,54, 44,50,48,43,46)
mydata = data.frame(lote, genotipo, proc_sem, biomasa)
mydata
## lote genotipo proc_sem biomasa
## 1 lote1 genotA A 42
## 2 lote2 genotA E 45
## 3 lote3 genotA C 41
## 4 lote4 genotA B 56
## 5 lote5 genotA D 47
## 6 lote1 genotB C 47
## 7 lote2 genotB B 54
## 8 lote3 genotB A 46
## 9 lote4 genotB D 52
## 10 lote5 genotB E 49
## 11 lote1 genotC B 55
## 12 lote2 genotC C 1
## 13 lote3 genotC D 57
## 14 lote4 genotC E 49
## 15 lote5 genotC A 45
## 16 lote1 genotD D 51
## 17 lote2 genotD A 44
## 18 lote3 genotD E 47
## 19 lote4 genotD C 50
## 20 lote5 genotD B 54
## 21 lote1 genotE E 44
## 22 lote2 genotE D 50
## 23 lote3 genotE B 48
## 24 lote4 genotE A 43
## 25 lote5 genotE C 46
library(collapsibleTree)
mydata
## lote genotipo proc_sem biomasa
## 1 lote1 genotA A 42
## 2 lote2 genotA E 45
## 3 lote3 genotA C 41
## 4 lote4 genotA B 56
## 5 lote5 genotA D 47
## 6 lote1 genotB C 47
## 7 lote2 genotB B 54
## 8 lote3 genotB A 46
## 9 lote4 genotB D 52
## 10 lote5 genotB E 49
## 11 lote1 genotC B 55
## 12 lote2 genotC C 1
## 13 lote3 genotC D 57
## 14 lote4 genotC E 49
## 15 lote5 genotC A 45
## 16 lote1 genotD D 51
## 17 lote2 genotD A 44
## 18 lote3 genotD E 47
## 19 lote4 genotD C 50
## 20 lote5 genotD B 54
## 21 lote1 genotE E 44
## 22 lote2 genotE D 50
## 23 lote3 genotE B 48
## 24 lote4 genotE A 43
## 25 lote5 genotE C 46
collapsibleTreeSummary(mydata, c('lote','proc_sem','genotipo'), collapsed = F)
library(ggplot2)
ggplot(mydata) +
aes(biomasa, genotipo) +
geom_point(size=5, shape=15) +
facet_grid(lote ~ proc_sem)
ggplot(mydata) +
aes(lote, genotipo, fill=biomasa) +
geom_tile()+
facet_wrap(~ proc_sem, nrow=1)+
theme(axis.text.x = element_text(angle=90))