Análisis ANOVa Problema19 Cap4

##Lectura de los datos

Problema19: Se comprueba el peso en gramos de un material de tres proveedo res: A, B y C, por tres diferentes inspectores: I, II y III, utilizando tres diferentes escalas: 1, 2 y 3.

df=expand.grid(1:3,1:3)
df$Trat=c("A","B","C","B","C","A","C","A","B")
df$Y=c(16,15,13,10,9,11,11,14,13)
df
##   Var1 Var2 Trat  Y
## 1    1    1    A 16
## 2    2    1    B 15
## 3    3    1    C 13
## 4    1    2    B 10
## 5    2    2    C  9
## 6    3    2    A 11
## 7    1    3    C 11
## 8    2    3    A 14
## 9    3    3    B 13

Variables

names(df)=c("Inspector","Escala","Trat","Y")
df
##   Inspector Escala Trat  Y
## 1         1      1    A 16
## 2         2      1    B 15
## 3         3      1    C 13
## 4         1      2    B 10
## 5         2      2    C  9
## 6         3      2    A 11
## 7         1      3    C 11
## 8         2      3    A 14
## 9         3      3    B 13
str(df)
## 'data.frame':    9 obs. of  4 variables:
##  $ Inspector: int  1 2 3 1 2 3 1 2 3
##  $ Escala   : int  1 1 1 2 2 2 3 3 3
##  $ Trat     : chr  "A" "B" "C" "B" ...
##  $ Y        : num  16 15 13 10 9 11 11 14 13
##  - attr(*, "out.attrs")=List of 2
##   ..$ dim     : int [1:2] 3 3
##   ..$ dimnames:List of 2
##   .. ..$ Var1: chr [1:3] "Var1=1" "Var1=2" "Var1=3"
##   .. ..$ Var2: chr [1:3] "Var2=1" "Var2=2" "Var2=3"
df$Inspector=factor(df$Inspector)
df$Escala=factor(df$Escala)
df$Trat=factor(df$Trat)

Modelo estadístico de ANOVA

modelo=aov(Y~Inspector+Escala+Trat,data=df)
summary(modelo)
##             Df Sum Sq Mean Sq F value  Pr(>F)   
## Inspector    2   0.22   0.111       1 0.50000   
## Escala       2  32.89  16.444     148 0.00671 **
## Trat         2  10.89   5.444      49 0.02000 * 
## Residuals    2   0.22   0.111                   
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Boxplot: Visualización de los datos

boxplot(Y~Escala,data=df)

boxplot(Y~Trat,data=df)

boxplot(Y~Inspector,data=df)

Prueba de comparaciones múltiples: TukeyHSD

tk=TukeyHSD(modelo)
tk
##   Tukey multiple comparisons of means
##     95% family-wise confidence level
## 
## Fit: aov(formula = Y ~ Inspector + Escala + Trat, data = df)
## 
## $Inspector
##              diff       lwr      upr    p adj
## 2-1  3.333333e-01 -1.269927 1.936593 0.548184
## 3-1  1.776357e-15 -1.603260 1.603260 1.000000
## 3-2 -3.333333e-01 -1.936593 1.269927 0.548184
## 
## $Escala
##          diff       lwr        upr     p adj
## 2-1 -4.666667 -6.269927 -3.0634068 0.0061007
## 3-1 -2.000000 -3.603260 -0.3967402 0.0327189
## 3-2  2.666667  1.063407  4.2699265 0.0186734
## 
## $Trat
##          diff       lwr         upr     p adj
## B-A -1.000000 -2.603260  0.60325985 0.1191149
## C-A -2.666667 -4.269927 -1.06340682 0.0186734
## C-B -1.666667 -3.269927 -0.06340682 0.0464424
plot(tk)

Prueba de normalidad de los residuales

qqnorm(modelo$residuals)
qqline(modelo$residuals)

shapiro.test(modelo$residuals)
## 
##  Shapiro-Wilk normality test
## 
## data:  modelo$residuals
## W = 0.61728, p-value = 0.0001526

Se puede apreciar que no hay una distribución normal

Prueba de igualdad de varianza: Homoscedasticidad

require(car)
## Loading required package: car
## Loading required package: carData
leveneTest(Y~Trat,data=df)
## Levene's Test for Homogeneity of Variance (center = median)
##       Df F value Pr(>F)
## group  2  0.0556 0.9464
##        6
leveneTest(Y~Escala,data=df)
## Levene's Test for Homogeneity of Variance (center = median)
##       Df F value Pr(>F)
## group  2  0.1429 0.8697
##        6

Prueba gráfica de independencia de los residuales

plot(modelo$residuals)
abline(h=0)

## Se concluye que hay un problema a la hora de la recoleccion de los datos, ya que en la prueba de independencia de los residuales los datos lo muestran.