Escriba aquí los objetivos de la clase.
datos <- data.frame(
lote = factor(rep(1:5, each = 5)),
operador = factor(rep(1:5, times = 5)),
formula = factor(c("A","B","C","D","E",
"B","C","D","E","A",
"C","D","E","A","B",
"D","E","A","B","C",
"E","A","B","C","D")),
ensamble = factor(c("alfa","gamma","epsilon","beta","delta",
"beta","delta","alfa","gamma","epsilon",
"gamma","epsilon","beta","delta","alfa",
"delta","alfa","gamma","epsilon","beta",
"epsilon","beta","delta","alfa","gamma"),
levels = c("alfa","beta","gamma","delta","epsilon")),
y = c(24,20,19,24,24, 17,24,30,27,36, 18,38,26,27,21,
26,31,26,23,22, 22,30,20,29,31)
)
sample(c("alfa","beta","delta","gamma","epsilon"))
## [1] "epsilon" "delta" "alfa" "beta" "gamma"
datos
## lote operador formula ensamble y
## 1 1 1 A alfa 24
## 2 1 2 B gamma 20
## 3 1 3 C epsilon 19
## 4 1 4 D beta 24
## 5 1 5 E delta 24
## 6 2 1 B beta 17
## 7 2 2 C delta 24
## 8 2 3 D alfa 30
## 9 2 4 E gamma 27
## 10 2 5 A epsilon 36
## 11 3 1 C gamma 18
## 12 3 2 D epsilon 38
## 13 3 3 E beta 26
## 14 3 4 A delta 27
## 15 3 5 B alfa 21
## 16 4 1 D delta 26
## 17 4 2 E alfa 31
## 18 4 3 A gamma 26
## 19 4 4 B epsilon 23
## 20 4 5 C beta 22
## 21 5 1 E epsilon 22
## 22 5 2 A beta 30
## 23 5 3 B delta 20
## 24 5 4 C alfa 29
## 25 5 5 D gamma 31
sample(1:25)
## [1] 4 24 21 14 19 2 7 18 10 25 11 8 16 12 17 13 23 6 15 1 3 22 9 20 5
mod_gl <- aov(y ~ lote + operador + formula + ensamble, data = datos)
summary(mod_gl)
## Df Sum Sq Mean Sq F value Pr(>F)
## lote 4 68 17.00 2.061 0.17831
## operador 4 150 37.50 4.545 0.03293 *
## formula 4 330 82.50 10.000 0.00334 **
## ensamble 4 62 15.50 1.879 0.20764
## Residuals 8 66 8.25
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
h=TukeyHSD(mod_gl, "formula")
h
## Tukey multiple comparisons of means
## 95% family-wise confidence level
##
## Fit: aov(formula = y ~ lote + operador + formula + ensamble, data = datos)
##
## $formula
## diff lwr upr p adj
## B-A -8.4 -14.675865 -2.12413503 0.0107829
## C-A -6.2 -12.475865 0.07586497 0.0529245
## D-A 1.2 -5.075865 7.47586497 0.9596565
## E-A -2.6 -8.875865 3.67586497 0.6270350
## C-B 2.2 -4.075865 8.47586497 0.7462701
## D-B 9.6 3.324135 15.87586497 0.0048412
## E-B 5.8 -0.475865 12.07586497 0.0714956
## D-C 7.4 1.124135 13.67586497 0.0218416
## E-C 3.6 -2.675865 9.87586497 0.3525524
## E-D -3.8 -10.075865 2.47586497 0.3087315
plot(h)
shapiro.test(residuals(mod_gl))
##
## Shapiro-Wilk normality test
##
## data: residuals(mod_gl)
## W = 0.97967, p-value = 0.8786
GENERACION DE CUADRADOS LATINOS
par(mfrow=c(2,2))
plot(mod_gl)
set.seed(2026)
p <- 5
base <- outer(0:(p-1), 0:(p-1), function(i, j) (i + j) %% p) # cuadrado cíclico
cl <- base[sample(p), sample(p)] # permutar filas y columnas
cl[] <- LETTERS[1:p][sample(p)][cl + 1] # asignar tratamientos al azar
cl
## [,1] [,2] [,3] [,4] [,5]
## [1,] "E" "C" "D" "A" "B"
## [2,] "C" "A" "B" "D" "E"
## [3,] "B" "E" "A" "C" "D"
## [4,] "A" "D" "E" "B" "C"
## [5,] "D" "B" "C" "E" "A"
sample(1:5,2)
## [1] 1 4
CUADRADO GRECOLATINO
g <- outer(0:(p-1), 0:(p-1), function(i, j) (i + 2*j) %% p)
gl <- matrix(paste0(LETTERS[base + 1], c("α","β","γ","δ","ε")[g + 1]), p)
gl
## [,1] [,2] [,3] [,4] [,5]
## [1,] "Aα" "Bγ" "Cε" "Dβ" "Eδ"
## [2,] "Bβ" "Cδ" "Dα" "Eγ" "Aε"
## [3,] "Cγ" "Dε" "Eβ" "Aδ" "Bα"
## [4,] "Dδ" "Eα" "Aγ" "Bε" "Cβ"
## [5,] "Eε" "Aβ" "Bδ" "Cα" "Dγ"
length(unique(as.vector(gl))) == p^2 # TRUE: los 25 pares son distintos
## [1] TRUE