Y=c(1.328,1.113,0.985,1.057,1.316,1.144,1.553,1.485,1.310,1.386,1.273,0.789,0.985,0.671,1.134,0.554,1.412,1.386,0.917,1.289,1.269,1.093,1.268,0.984,1.091,1.087,1.195,1.482,1.380,1.442,1.036,0.201,0.783,0.900,1.108,0.916,1.129,1.434,1.132,1.223,1.440,1.150,1.079,1.190,1.389,1.247,1.611,1.617,1.445,1.574,1.454,1.018,1.063,1.050,1.219,0.997,1.602,1.538,1.583,1.478)
df=expand.grid(1:10,1:2,1:3)
names(df)=c("Replica","Equipo","Operador")
df$Y=Y
df$Operador=factor(df$Operador)
df$Equipo=factor(df$Equipo)
df
## Replica Equipo Operador Y
## 1 1 1 1 1.328
## 2 2 1 1 1.113
## 3 3 1 1 0.985
## 4 4 1 1 1.057
## 5 5 1 1 1.316
## 6 6 1 1 1.144
## 7 7 1 1 1.553
## 8 8 1 1 1.485
## 9 9 1 1 1.310
## 10 10 1 1 1.386
## 11 1 2 1 1.273
## 12 2 2 1 0.789
## 13 3 2 1 0.985
## 14 4 2 1 0.671
## 15 5 2 1 1.134
## 16 6 2 1 0.554
## 17 7 2 1 1.412
## 18 8 2 1 1.386
## 19 9 2 1 0.917
## 20 10 2 1 1.289
## 21 1 1 2 1.269
## 22 2 1 2 1.093
## 23 3 1 2 1.268
## 24 4 1 2 0.984
## 25 5 1 2 1.091
## 26 6 1 2 1.087
## 27 7 1 2 1.195
## 28 8 1 2 1.482
## 29 9 1 2 1.380
## 30 10 1 2 1.442
## 31 1 2 2 1.036
## 32 2 2 2 0.201
## 33 3 2 2 0.783
## 34 4 2 2 0.900
## 35 5 2 2 1.108
## 36 6 2 2 0.916
## 37 7 2 2 1.129
## 38 8 2 2 1.434
## 39 9 2 2 1.132
## 40 10 2 2 1.223
## 41 1 1 3 1.440
## 42 2 1 3 1.150
## 43 3 1 3 1.079
## 44 4 1 3 1.190
## 45 5 1 3 1.389
## 46 6 1 3 1.247
## 47 7 1 3 1.611
## 48 8 1 3 1.617
## 49 9 1 3 1.445
## 50 10 1 3 1.574
## 51 1 2 3 1.454
## 52 2 2 3 1.018
## 53 3 2 3 1.063
## 54 4 2 3 1.050
## 55 5 2 3 1.219
## 56 6 2 3 0.997
## 57 7 2 3 1.602
## 58 8 2 3 1.538
## 59 9 2 3 1.583
## 60 10 2 3 1.478
modelo=aov(Y~Equipo+Operador,data=df)
summary(modelo)
## Df Sum Sq Mean Sq F value Pr(>F)
## Equipo 1 0.493 0.4925 8.090 0.00621 **
## Operador 2 0.589 0.2944 4.835 0.01156 *
## Residuals 56 3.409 0.0609
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
boxplot(Y~Equipo,data=df)
boxplot(Y~Operador,data=df)
boxplot(Y~Equipo*Operador,data=df)
### Se observa diferencia significativa entre algunos de los equipos y operadores.
tk=TukeyHSD(modelo)
tk
## Tukey multiple comparisons of means
## 95% family-wise confidence level
##
## Fit: aov(formula = Y ~ Equipo + Operador, data = df)
##
## $Equipo
## diff lwr upr p adj
## 2-1 -0.1812 -0.3088231 -0.05357689 0.0062055
##
## $Operador
## diff lwr upr p adj
## 2-1 -0.04670 -0.234553611 0.1411536 0.8214765
## 3-1 0.18285 -0.005003611 0.3707036 0.0580021
## 3-2 0.22955 0.041696389 0.4174036 0.0129494
qqnorm(modelo$residuals)
qqline(modelo$residuals)
shapiro.test(modelo$residuals)
##
## Shapiro-Wilk normality test
##
## data: modelo$residuals
## W = 0.96139, p-value = 0.05502
require(car)
## Loading required package: car
## Loading required package: carData
leveneTest(Y~Equipo,data=df)
## Levene's Test for Homogeneity of Variance (center = median)
## Df F value Pr(>F)
## group 1 4.1246 0.04686 *
## 58
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
leveneTest(Y~Operador,data=df)
## Levene's Test for Homogeneity of Variance (center = median)
## Df F value Pr(>F)
## group 2 0.1849 0.8316
## 57
plot(modelo$residuals)
abline(h=0)
### Hay datos fuera del rango, por lo que se debería analizar si el error se obtuvo desde la recolección de la muestra.