ZM <- read.csv("~/Desktop/ZM.csv")

#Cambiar a factores
names(ZM)
## [1] "Tratamiento" "t"           "D"           "T"           "cons"
ZM$t<-as.factor(ZM$t)
ZM$D<-as.factor(ZM$D)
ZM$T<-as.factor(ZM$T)

#PLANTEAMIENTO DEL MODELO
MZM<-aov(cons~t*D*T, data = ZM)
anova(MZM)
## Analysis of Variance Table
## 
## Response: cons
##           Df     Sum Sq    Mean Sq F value    Pr(>F)    
## t          1 0.00138746 0.00138746 90.1140 5.639e-08 ***
## D          1 0.00000017 0.00000017  0.0110 0.9176161    
## T          1 0.00040000 0.00040000 25.9799 0.0001077 ***
## t:D        1 0.00014435 0.00014435  9.3757 0.0074499 ** 
## t:T        1 0.00000685 0.00000685  0.4448 0.5143314    
## D:T        1 0.00009761 0.00009761  6.3395 0.0228393 *  
## t:D:T      1 0.00026162 0.00026162 16.9922 0.0007986 ***
## Residuals 16 0.00024635 0.00001540                      
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
#PLANTEAMIENTO DE LAS HIPOTESIS (Pr>F < alfa = 0.05)
#Ho:no hay efecto de la interacción
#Ha:hay efecto de la interacción

#COMPROBACIÓN DE SUPUESTOS
# 1_NORMALIDAD
#Gráfica
Residuos<-resid(MZM)
qqnorm(Residuos)

plot(density(residuals(MZM)))

#Analitica 
library(MASS)
Residuales2<-studres(MZM)
shapiro.test(Residuales2)
## 
##  Shapiro-Wilk normality test
## 
## data:  Residuales2
## W = 0.94168, p-value = 0.1778
#Prueba de shapiro
#Ho: los residuales se distribuyen de forma normal (se cumple con normalidad)
#Ha: los residuales  no se distribuyen de forma normal (no se cumple con normalidad)
#alfa=0.05 
#W > 80 cumplimos con normalidad


# 2_HOMOGENEIDAD DE LAS VARIANZAS
EstimadosH<-fitted(MZM)
plot(EstimadosH, Residuos, main = "Contenido de polifenoles", xlab= "extracción", ylab="residuos")

#Levene
#Ho: todas las varianzas son iguales
#Ha: al menos una varianza es diferente
#alfa = 0.05
library(car)
## Loading required package: carData
leveneTest(cons~t*D*T, data = ZM)
## Levene's Test for Homogeneity of Variance (center = median)
##       Df F value Pr(>F)
## group  7  0.2808 0.9523
##       16
#Conclusión: pvalue>alfa, se cumple con supuesto de homogeneidad de varianza grubbs




#############################################

#REALIZAR COMPARACIONES - PRUEBA DE TUKEY (DMSH) post hoc
library(agricolae)

boxplot(cons~t*D*T, data = ZM,main="Gráfico de comparación")

#DISOLVENTE
ComparaciónD<-HSD.test(MZM, "D",group = TRUE)
ComparaciónD
## $statistics
##        MSerror Df       Mean      CV         MSD
##   1.539667e-05 16 0.08953167 4.38265 0.003395895
## 
## $parameters
##    test name.t ntr StudentizedRange alpha
##   Tukey      D   2         2.997999  0.05
## 
## $means
##         cons         std  r          se     Min     Max      Q25      Q50
## 1 0.08961583 0.013324890 12 0.001132721 0.07488 0.11494 0.080365 0.083620
## 2 0.08944750 0.007330879 12 0.001132721 0.07453 0.09828 0.083490 0.091645
##         Q75
## 1 0.0953975
## 2 0.0933700
## 
## $comparison
## NULL
## 
## $groups
##         cons groups
## 1 0.08961583      a
## 2 0.08944750      a
## 
## attr(,"class")
## [1] "group"
#La concentración de polifenoles es mejor en el nivel 3

#TIEMPO
Comparaciont<-HSD.test(MZM, "t",group = TRUE)
Comparaciont
## $statistics
##        MSerror Df       Mean      CV         MSD
##   1.539667e-05 16 0.08953167 4.38265 0.003395895
## 
## $parameters
##    test name.t ntr StudentizedRange alpha
##   Tukey      t   2         2.997999  0.05
## 
## $means
##         cons         std  r          se     Min     Max       Q25     Q50
## 1 0.08192833 0.005501125 12 0.001132721 0.07453 0.09194 0.0789625 0.08162
## 2 0.09713500 0.008655355 12 0.001132721 0.08466 0.11494 0.0917975 0.09437
##        Q75
## 1 0.083050
## 2 0.099605
## 
## $comparison
## NULL
## 
## $groups
##         cons groups
## 2 0.09713500      a
## 1 0.08192833      b
## 
## attr(,"class")
## [1] "group"
#La concentración de polifenoles es mejor en el nivel 2, hay diferencias

#TIEMPO
ComparacionT<-HSD.test(MZM, "T",group = TRUE)
ComparacionT
## $statistics
##        MSerror Df       Mean      CV         MSD
##   1.539667e-05 16 0.08953167 4.38265 0.003395895
## 
## $parameters
##    test name.t ntr StudentizedRange alpha
##   Tukey      T   2         2.997999  0.05
## 
## $means
##         cons         std  r          se     Min     Max       Q25      Q50
## 1 0.08544917 0.008335103 12 0.001132721 0.07453 0.09828 0.0789625 0.083745
## 2 0.09361417 0.011201431 12 0.001132721 0.08068 0.11494 0.0834275 0.091840
##         Q75
## 1 0.0920775
## 2 0.0992750
## 
## $comparison
## NULL
## 
## $groups
##         cons groups
## 2 0.09361417      a
## 1 0.08544917      b
## 
## attr(,"class")
## [1] "group"
#La concentración de polifenoles es mejor en el nivel 2, hay diferencias

#INTERACCIÓN DISOLVENTE/TIEMPO
ComparacionDt<-HSD.test(MZM, c("D","t"), group = TRUE)
ComparacionDt
## $statistics
##        MSerror Df       Mean      CV         MSD
##   1.539667e-05 16 0.08953167 4.38265 0.006481473
## 
## $parameters
##    test name.t ntr StudentizedRange alpha
##   Tukey    D:t   4         4.046093  0.05
## 
## $means
##           cons         std r          se     Min     Max       Q25      Q50
## 1:1 0.07956000 0.002939394 6 0.001601909 0.07488 0.08258 0.0780475 0.080050
## 1:2 0.09967167 0.011802051 6 0.001601909 0.08466 0.11494 0.0920775 0.098125
## 2:1 0.08429667 0.006669002 6 0.001601909 0.07453 0.09194 0.0814800 0.083270
## 2:2 0.09459833 0.003175175 6 0.001601909 0.09138 0.09828 0.0917800 0.094270
##           Q75
## 1:1 0.0818275
## 1:2 0.1086200
## 2:1 0.0897325
## 2:2 0.0973975
## 
## $comparison
## NULL
## 
## $groups
##           cons groups
## 1:2 0.09967167      a
## 2:2 0.09459833      a
## 2:1 0.08429667      b
## 1:1 0.07956000      b
## 
## attr(,"class")
## [1] "group"
#INTERACCIÓN DISOLVENTE/TEMPERATURA
ComparacionDT<-HSD.test(MZM, c("D","T"), group = TRUE)
ComparacionDT
## $statistics
##        MSerror Df       Mean      CV         MSD
##   1.539667e-05 16 0.08953167 4.38265 0.006481473
## 
## $parameters
##    test name.t ntr StudentizedRange alpha
##   Tukey    D:T   4         4.046093  0.05
## 
## $means
##           cons         std r          se     Min     Max       Q25     Q50
## 1:1 0.08351667 0.007503814 6 0.001601909 0.07488 0.09267 0.0780475 0.08204
## 1:2 0.09571500 0.015653406 6 0.001601909 0.08068 0.11494 0.0823025 0.09308
## 2:1 0.08738167 0.009358018 6 0.001601909 0.07453 0.09828 0.0814800 0.08719
## 2:2 0.09151333 0.004518520 6 0.001601909 0.08371 0.09784 0.0914700 0.09184
##           Q75
## 1:1 0.0900750
## 1:2 0.1086200
## 2:1 0.0949400
## 2:2 0.0923375
## 
## $comparison
## NULL
## 
## $groups
##           cons groups
## 1:2 0.09571500      a
## 2:2 0.09151333     ab
## 2:1 0.08738167     bc
## 1:1 0.08351667      c
## 
## attr(,"class")
## [1] "group"
#INTERACCIÓN TEMPERATURA/TIEMPO
ComparaciontT<-HSD.test(MZM, c("T","t"), group = TRUE)
ComparaciontT
## $statistics
##        MSerror Df       Mean      CV         MSD
##   1.539667e-05 16 0.08953167 4.38265 0.006481473
## 
## $parameters
##    test name.t ntr StudentizedRange alpha
##   Tukey    T:t   4         4.046093  0.05
## 
## $means
##           cons         std r          se     Min     Max       Q25      Q50
## 1:1 0.07838000 0.003334762 6 0.001601909 0.07453 0.08283 0.0755575 0.078505
## 1:2 0.09251833 0.004667605 6 0.001601909 0.08466 0.09828 0.0916325 0.092275
## 2:1 0.08547667 0.005023842 6 0.001601909 0.08068 0.09194 0.0823025 0.083145
## 2:2 0.10175167 0.009585102 6 0.001601909 0.09138 0.11494 0.0938125 0.100710
##           Q75
## 1:1 0.0806275
## 1:2 0.0952200
## 2:1 0.0897325
## 2:2 0.1086200
## 
## $comparison
## NULL
## 
## $groups
##           cons groups
## 2:2 0.10175167      a
## 1:2 0.09251833      b
## 2:1 0.08547667      c
## 1:1 0.07838000      d
## 
## attr(,"class")
## [1] "group"
#INTERACCIÓN TEMPERATURA/TIEMPO/DISOLVENTE
ComparaciontTD<-HSD.test(MZM, c("t","D","T"), group = TRUE)
ComparaciontTD
## $statistics
##        MSerror Df       Mean      CV       MSD
##   1.539667e-05 16 0.08953167 4.38265 0.0110921
## 
## $parameters
##    test name.t ntr StudentizedRange alpha
##   Tukey  t:D:T   8          4.89622  0.05
## 
## $means
##             cons         std r          se     Min     Max      Q25     Q50
## 1:1:1 0.07729667 0.002284170 3 0.002265441 0.07488 0.07942 0.076235 0.07759
## 1:1:2 0.08182333 0.001007290 3 0.002265441 0.08068 0.08258 0.081445 0.08221
## 1:2:1 0.07946333 0.004366158 3 0.002265441 0.07453 0.08283 0.077780 0.08103
## 1:2:2 0.08913000 0.004694923 3 0.002265441 0.08371 0.09194 0.087725 0.09174
## 2:1:1 0.08973667 0.004414231 3 0.002265441 0.08466 0.09267 0.088270 0.09188
## 2:1:2 0.10960667 0.005711649 3 0.002265441 0.10358 0.11494 0.106940 0.11030
## 2:2:1 0.09530000 0.003430437 3 0.002265441 0.09155 0.09828 0.093810 0.09607
## 2:2:2 0.09389667 0.003458241 3 0.002265441 0.09138 0.09784 0.091925 0.09247
##            Q75
## 1:1:1 0.078505
## 1:1:2 0.082395
## 1:2:1 0.081930
## 1:2:2 0.091840
## 2:1:1 0.092275
## 2:1:2 0.112620
## 2:2:1 0.097175
## 2:2:2 0.095155
## 
## $comparison
## NULL
## 
## $groups
##             cons groups
## 2:1:2 0.10960667      a
## 2:2:1 0.09530000      b
## 2:2:2 0.09389667      b
## 2:1:1 0.08973667     bc
## 1:2:2 0.08913000     bc
## 1:1:2 0.08182333     cd
## 1:2:1 0.07946333     cd
## 1:1:1 0.07729667      d
## 
## attr(,"class")
## [1] "group"
#CONCLUSIÓN: La mejor combinación es -1:-1:1

################################################