#Factorial simple en arreglo en bloques al azar

set.seed(2022)
rto<-c(sort(rnorm(72,10,1)),sort(rnorm(48,8,1)))
blq<-gl(5,24,120,c("0%","2%","5%","8%","10%"))#bloqueo por pendiente tipo de pendente 
g<-gl(3,8,120,c("g1","g2","g3"))#genotipos 
MO<-c(sort(runif(72,1,2.5)),sort(runif(48,2,2.5)))#medir covariable de materia organica(fue facil)
Ar<-c(sort(runif(72,10,20),decreasing = T),sort(runif(48,15,20),decreasing = T))#contenido de arcilla 
df<-data.frame(g,blq,MO,Ar,rto)
pairs(df[,c(3,4,5)])#ver como se porta rendimiento con sus variables

#Primero ver si la relacion de covariables es buena

plot(df$rto~df$Ar,pch=16,col=df$g)#rendimiento contra arcilla y color a los genotiposs

#como caen mas o menos en una linea, indica que esta covariable es buena
plot(df$rto~df$MO,pch=16,col=df$g)

#esta es un dolor de cabeza parece ser doble linea, no es desebale, muy mala coraviable
#Es mejor dejarla por fuera

#dos tipos de analisis, uno descripitvo y analisis de varianza

library(lattice)
bwplot(df$rto~df$g|df$blq)#como se comporta, ver que su variacion no sea tan grande 

Analisis de covarianza(analisis varianza)

#hipotesis nula 1, Efecto nulo de los genotipos #hipotesis nula 2, Efecto nulo de la materia organica #hipotesis nula 3, Efecto nulo del contenido de arcillas

mod_cov=aov(rto~blq+MO+Ar+g+blq*g,data = df)#covariables se analizan sin interacion(independientes),solo genotipo y bloque 
summary(mod_cov)#si tiene asterisco parece que si son  variables buenas buenas , rechazo hipotesis nula 
##              Df Sum Sq Mean Sq F value   Pr(>F)    
## blq           4 171.43   42.86  756.67  < 2e-16 ***
## MO            1  17.17   17.17  303.14  < 2e-16 ***
## Ar            1   5.02    5.02   88.59 1.50e-15 ***
## g             2   2.31    1.16   20.41 3.42e-08 ***
## blq:g         8   4.63    0.58   10.21 2.07e-10 ***
## Residuals   103   5.83    0.06                     
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
mod_cov=aov(rto~blq+Ar+g+blq*g,data = df)#modelo sin la Mo porque vi que no era buena 
summary(mod_cov)#el p valor de genotipo es el mas importante, el de interacion bloque genotipo no importa tanto 
##              Df Sum Sq Mean Sq F value   Pr(>F)    
## blq           4 171.43   42.86  757.08  < 2e-16 ***
## Ar            1  21.41   21.41  378.18  < 2e-16 ***
## g             2   1.61    0.81   14.26 3.38e-06 ***
## blq:g         8   6.05    0.76   13.36 3.92e-13 ***
## Residuals   104   5.89    0.06                     
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
#la arcilla es un modelo util por el p valor, solo s emira factor y covariable no el bloqueo 
TukeyHSD(mod_cov)#prueba busca que causo el rechazo de la hipotesis 
## Warning in replications(paste("~", xx), data = mf): non-factors ignored: Ar
## Warning in TukeyHSD.aov(mod_cov): 'which' specified some non-factors which will
## be dropped
##   Tukey multiple comparisons of means
##     95% family-wise confidence level
## 
## Fit: aov(formula = rto ~ blq + Ar + g + blq * g, data = df)
## 
## $blq
##              diff         lwr        upr     p adj
## 2%-0%   1.0697607  0.87908023  1.2604412 0.0000000
## 5%-0%   1.9943350  1.80365450  2.1850154 0.0000000
## 8%-0%  -1.5872743 -1.77795479 -1.3965938 0.0000000
## 10%-0%  0.1269140 -0.06376647  0.3175945 0.3521564
## 5%-2%   0.9245743  0.73389381  1.1152547 0.0000000
## 8%-2%  -2.6570350 -2.84771548 -2.4663545 0.0000000
## 10%-2% -0.9428467 -1.13352717 -0.7521662 0.0000000
## 8%-5%  -3.5816093 -3.77228976 -3.3909288 0.0000000
## 10%-5% -1.8674210 -2.05810144 -1.6767405 0.0000000
## 10%-8%  1.7141883  1.52350785  1.9048688 0.0000000
## 
## $g
##              diff          lwr       upr     p adj
## g2-g1 0.124346957 -0.002153350 0.2508473 0.0551182
## g3-g1 0.129756894  0.003256588 0.2562572 0.0430309
## g3-g2 0.005409938 -0.121090369 0.1319102 0.9943158
## 
## $`blq:g`
##                       diff         lwr         upr     p adj
## 2%:g1-0%:g1    1.309271408  0.89593323  1.72260958 0.0000000
## 5%:g1-0%:g1    2.319011838  1.90567366  2.73235001 0.0000000
## 8%:g1-0%:g1   -2.124495480 -2.53783366 -1.71115730 0.0000000
## 10%:g1-0%:g1   0.099277207 -0.31406097  0.51261538 0.9999453
## 0%:g2-0%:g1    0.175153030 -0.23818515  0.58849121 0.9774808
## 2%:g2-0%:g1    1.187903516  0.77456534  1.60124169 0.0000000
## 5%:g2-0%:g1    2.137574550  1.72423637  2.55091273 0.0000000
## 8%:g2-0%:g1   -1.384834859 -1.79817303 -0.97149668 0.0000000
## 10%:g2-0%:g1   0.109003519 -0.30433466  0.52234170 0.9998342
## 0%:g3-0%:g1    0.078548591 -0.33478958  0.49188677 0.9999970
## 2%:g3-0%:g1    0.965808784  0.55247061  1.37914696 0.0000000
## 5%:g3-0%:g1    1.780120158  1.36678198  2.19345833 0.0000000
## 8%:g3-0%:g1   -0.998790985 -1.41212916 -0.58545281 0.0000000
## 10%:g3-0%:g1   0.426162896  0.01282472  0.83950107 0.0364453
## 5%:g1-2%:g1    1.009740430  0.59640225  1.42307861 0.0000000
## 8%:g1-2%:g1   -3.433766888 -3.84710506 -3.02042871 0.0000000
## 10%:g1-2%:g1  -1.209994201 -1.62333238 -0.79665603 0.0000000
## 0%:g2-2%:g1   -1.134118378 -1.54745655 -0.72078020 0.0000000
## 2%:g2-2%:g1   -0.121367892 -0.53470607  0.29197028 0.9994336
## 5%:g2-2%:g1    0.828303142  0.41496497  1.24164132 0.0000000
## 8%:g2-2%:g1   -2.694106267 -3.10744444 -2.28076809 0.0000000
## 10%:g2-2%:g1  -1.200267888 -1.61360606 -0.78692971 0.0000000
## 0%:g3-2%:g1   -1.230722816 -1.64406099 -0.81738464 0.0000000
## 2%:g3-2%:g1   -0.343462624 -0.75680080  0.06987555 0.2199920
## 5%:g3-2%:g1    0.470848750  0.05751057  0.88418693 0.0110589
## 8%:g3-2%:g1   -2.308062393 -2.72140057 -1.89472422 0.0000000
## 10%:g3-2%:g1  -0.883108512 -1.29644669 -0.46977034 0.0000000
## 8%:g1-5%:g1   -4.443507318 -4.85684549 -4.03016914 0.0000000
## 10%:g1-5%:g1  -2.219734631 -2.63307281 -1.80639646 0.0000000
## 0%:g2-5%:g1   -2.143858808 -2.55719698 -1.73052063 0.0000000
## 2%:g2-5%:g1   -1.131108322 -1.54444650 -0.71777015 0.0000000
## 5%:g2-5%:g1   -0.181437288 -0.59477546  0.23190089 0.9695728
## 8%:g2-5%:g1   -3.703846697 -4.11718487 -3.29050852 0.0000000
## 10%:g2-5%:g1  -2.210008319 -2.62334649 -1.79667014 0.0000000
## 0%:g3-5%:g1   -2.240463247 -2.65380142 -1.82712507 0.0000000
## 2%:g3-5%:g1   -1.353203054 -1.76654123 -0.93986488 0.0000000
## 5%:g3-5%:g1   -0.538891680 -0.95222986 -0.12555350 0.0014273
## 8%:g3-5%:g1   -3.317802823 -3.73114100 -2.90446465 0.0000000
## 10%:g3-5%:g1  -1.892848942 -2.30618712 -1.47951077 0.0000000
## 10%:g1-8%:g1   2.223772687  1.81043451  2.63711086 0.0000000
## 0%:g2-8%:g1    2.299648510  1.88631033  2.71298669 0.0000000
## 2%:g2-8%:g1    3.312398996  2.89906082  3.72573717 0.0000000
## 5%:g2-8%:g1    4.262070030  3.84873185  4.67540821 0.0000000
## 8%:g2-8%:g1    0.739660621  0.32632245  1.15299880 0.0000011
## 10%:g2-8%:g1   2.233499000  1.82016082  2.64683718 0.0000000
## 0%:g3-8%:g1    2.203044072  1.78970590  2.61638225 0.0000000
## 2%:g3-8%:g1    3.090304264  2.67696609  3.50364244 0.0000000
## 5%:g3-8%:g1    3.904615638  3.49127746  4.31795381 0.0000000
## 8%:g3-8%:g1    1.125704495  0.71236632  1.53904267 0.0000000
## 10%:g3-8%:g1   2.550658376  2.13732020  2.96399655 0.0000000
## 0%:g2-10%:g1   0.075875823 -0.33746235  0.48921400 0.9999981
## 2%:g2-10%:g1   1.088626309  0.67528813  1.50196448 0.0000000
## 5%:g2-10%:g1   2.038297343  1.62495917  2.45163552 0.0000000
## 8%:g2-10%:g1  -1.484112066 -1.89745024 -1.07077389 0.0000000
## 10%:g2-10%:g1  0.009726313 -0.40361186  0.42306449 1.0000000
## 0%:g3-10%:g1  -0.020728615 -0.43406679  0.39260956 1.0000000
## 2%:g3-10%:g1   0.866531577  0.45319340  1.27986975 0.0000000
## 5%:g3-10%:g1   1.680842951  1.26750478  2.09418113 0.0000000
## 8%:g3-10%:g1  -1.098068192 -1.51140637 -0.68473002 0.0000000
## 10%:g3-10%:g1  0.326885689 -0.08645249  0.74022386 0.2921459
## 2%:g2-0%:g2    1.012750487  0.59941231  1.42608866 0.0000000
## 5%:g2-0%:g2    1.962421520  1.54908334  2.37575970 0.0000000
## 8%:g2-0%:g2   -1.559987889 -1.97332606 -1.14664971 0.0000000
## 10%:g2-0%:g2  -0.066149510 -0.47948769  0.34718867 0.9999997
## 0%:g3-0%:g2   -0.096604438 -0.50994261  0.31673374 0.9999607
## 2%:g3-0%:g2    0.790655754  0.37731758  1.20399393 0.0000001
## 5%:g3-0%:g2    1.604967128  1.19162895  2.01830530 0.0000000
## 8%:g3-0%:g2   -1.173944015 -1.58728219 -0.76060584 0.0000000
## 10%:g3-0%:g2   0.251009866 -0.16232831  0.66434804 0.7252438
## 5%:g2-2%:g2    0.949671033  0.53633286  1.36300921 0.0000000
## 8%:g2-2%:g2   -2.572738375 -2.98607655 -2.15940020 0.0000000
## 10%:g2-2%:g2  -1.078899997 -1.49223817 -0.66556182 0.0000000
## 0%:g3-2%:g2   -1.109354925 -1.52269310 -0.69601675 0.0000000
## 2%:g3-2%:g2   -0.222094733 -0.63543291  0.19124344 0.8636577
## 5%:g3-2%:g2    0.592216642  0.17887847  1.00555482 0.0002446
## 8%:g3-2%:g2   -2.186694501 -2.60003268 -1.77335633 0.0000000
## 10%:g3-2%:g2  -0.761740620 -1.17507880 -0.34840244 0.0000005
## 8%:g2-5%:g2   -3.522409409 -3.93574758 -3.10907123 0.0000000
## 10%:g2-5%:g2  -2.028571030 -2.44190921 -1.61523285 0.0000000
## 0%:g3-5%:g2   -2.059025958 -2.47236413 -1.64568778 0.0000000
## 2%:g3-5%:g2   -1.171765766 -1.58510394 -0.75842759 0.0000000
## 5%:g3-5%:g2   -0.357454392 -0.77079257  0.05588378 0.1694490
## 8%:g3-5%:g2   -3.136365535 -3.54970371 -2.72302736 0.0000000
## 10%:g3-5%:g2  -1.711411654 -2.12474983 -1.29807348 0.0000000
## 10%:g2-8%:g2   1.493838379  1.08050020  1.90717655 0.0000000
## 0%:g3-8%:g2    1.463383451  1.05004528  1.87672163 0.0000000
## 2%:g3-8%:g2    2.350643643  1.93730547  2.76398182 0.0000000
## 5%:g3-8%:g2    3.164955017  2.75161684  3.57829319 0.0000000
## 8%:g3-8%:g2    0.386043874 -0.02729430  0.79938205 0.0938606
## 10%:g3-8%:g2   1.810997755  1.39765958  2.22433593 0.0000000
## 0%:g3-10%:g2  -0.030454928 -0.44379310  0.38288325 1.0000000
## 2%:g3-10%:g2   0.856805264  0.44346709  1.27014344 0.0000000
## 5%:g3-10%:g2   1.671116638  1.25777846  2.08445481 0.0000000
## 8%:g3-10%:g2  -1.107794504 -1.52113268 -0.69445633 0.0000000
## 10%:g3-10%:g2  0.317159377 -0.09617880  0.73049755 0.3404221
## 2%:g3-0%:g3    0.887260192  0.47392202  1.30059837 0.0000000
## 5%:g3-0%:g3    1.701571566  1.28823339  2.11490974 0.0000000
## 8%:g3-0%:g3   -1.077339576 -1.49067775 -0.66400140 0.0000000
## 10%:g3-0%:g3   0.347614305 -0.06572387  0.76095248 0.2040063
## 5%:g3-2%:g3    0.814311374  0.40097320  1.22764955 0.0000001
## 8%:g3-2%:g3   -1.964599769 -2.37793794 -1.55126159 0.0000000
## 10%:g3-2%:g3  -0.539645888 -0.95298406 -0.12630771 0.0013934
## 8%:g3-5%:g3   -2.778911143 -3.19224932 -2.36557297 0.0000000
## 10%:g3-5%:g3  -1.353957262 -1.76729544 -0.94061909 0.0000000
## 10%:g3-8%:g3   1.424953881  1.01161571  1.83829206 0.0000000
#ver cual genotipo es diferente, comparar genotipo
#buscar el p valor de comparacion de genotipos, se ve que el g3-g1 es de 0.04 menor de 0.05 por esto es el unico que muestra diferencias , al ser mayor dice que no hay diferencias 
#genotipo desigual 
shapiro.test(mod_cov$residuals)#sirve para determinar si se cumple el supuesto de normalidad 
## 
##  Shapiro-Wilk normality test
## 
## data:  mod_cov$residuals
## W = 0.881, p-value = 2.349e-08
#menor a 0,05 se rechaza hipotesis nula osea hay normalidad
#hipotesis nula tienne distribucion normal
#se observaron los residuales, y no son normales
#En este caso no hay normalidad, tocaria un metodo que no necesite normalidad 
#si no son normales se deja hasta hay porque no hay normalidad de residuales
hist(mod_cov$residuals)#para ver que los residuales no cumplen el supuesto de igualdad de varianzas

#Prueba igualdad de varianzas 
bartlett.test(mod_cov$residuals,df$g)#mirar igualdad de varianzas 
## 
##  Bartlett test of homogeneity of variances
## 
## data:  mod_cov$residuals and df$g
## Bartlett's K-squared = 26.939, df = 2, p-value = 1.414e-06
#se rechaza normalidad de varianzas 
boxplot(mod_cov$residuals~df$g)#boxplot residuales para ver la varianza 

boxplot(df$rto~df$g)#se ovserva que no se parecen las varianzas segun la prueba 

hist(df$rto)#se hace para ver si es normal, es por la peque?a asimetria 

\[ H_0:\text{5.8 no es un at?pico}\\H_1:\text{5.8 es un at?pico} \]

library(outliers)#detectar atipicos
grubbs.test(df$rto)#p  valor mayor a 0.05 no rechazo hipotesis nula, no son los atipicos el problema 
## 
##  Grubbs test for one outlier
## 
## data:  df$rto
## G = 2.65383, U = 0.94032, p-value = 0.43
## alternative hypothesis: lowest value 5.80442402644993 is an outlier
library(dplyr)#filtrar y elimino los bloques de 8 y 10 por ser los que tienen algo atipico
## 
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union
df %>% 
  filter(!(blq%in%c("8%","10%")))->df1
mod_cov=aov(rto~blq+Ar+g+blq*g,data = df1)
summary(mod_cov)#se ve que los genotipos no difieren
##             Df Sum Sq Mean Sq F value  Pr(>F)    
## blq          2  47.81  23.906 598.339 < 2e-16 ***
## Ar           1   8.85   8.850 221.511 < 2e-16 ***
## g            2   0.09   0.047   1.175 0.31555    
## blq:g        4   0.70   0.175   4.388 0.00345 ** 
## Residuals   62   2.48   0.040                    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
shapiro.test(mod_cov$residuals)#no se cumplio 
## 
##  Shapiro-Wilk normality test
## 
## data:  mod_cov$residuals
## W = 0.69325, p-value = 5.61e-11
bartlett.test(mod_cov$residuals,df1$g)#No se cumplio el supuesto apesar de los cambios
## 
##  Bartlett test of homogeneity of variances
## 
## data:  mod_cov$residuals and df1$g
## Bartlett's K-squared = 30.475, df = 2, p-value = 2.412e-07