Generación de datos

set.seed(222)
## Rendimiento en gramos de grano por planta.
Rendimiento = sort(rnorm(40,100,9),T)
Ambiente=gl(2,20,40, c("A1","A2"))
Densidad = gl(2,10,40, c('14x80cm', "11x70cm"))
Fertilizacion = gl(4,5,40,c("Foliar",'Control1','Edafica','control2'))
dt = data.frame(Ambiente,Densidad,Fertilizacion,Rendimiento)
View(dt)

Gráficos

library(collapsibleTree)
collapsibleTree(dt, hierarchy = c('Ambiente','Densidad', 'Fertilizacion', 'Rendimiento'))
library(ggplot2)
ggplot(dt, aes(y = Rendimiento, x=Fertilizacion)) +
    geom_boxplot(color = "black", fill = "light green")+
  facet_wrap(~Ambiente*Densidad)

Modelo

\[Y_{ijk} =~\mu~+\alpha_i~+~\beta_j~+~(\alpha\beta)_{ij}~+~\tau_{k}+~(\alpha\tau)_{ik}~+~(\alpha\beta\tau)_{ijk}\\\mu= media\\\alpha_i=Efecto~bloqueo\\\beta_{j}=Parcela~principal\\(\alpha\beta)_{ij}=Error~de~la~parcela~principal\\\tau_k=Subparcela\\(\alpha\tau)_{ik}=Efecto~interacción~bloque~subparcela\\(\alpha\beta\tau)_{ijk}=Error~subparcela\]

Hipotesis

\[H_{o1}=(\alpha\tau)=0\\H_{o2}=\text{No hay diferencias entre densidades}\\H_{o3}=\text{No hay diferencias entre fertilizaciones}\]

library(agricolae)
## Warning: package 'agricolae' was built under R version 4.2.2
Modelo1 <- aov(Rendimiento~Densidad+Fertilizacion+Ambiente*Fertilizacion,data = dt)
summary(Modelo1)
##                        Df Sum Sq Mean Sq F value   Pr(>F)    
## Densidad                1  651.8   651.8 186.665 6.67e-15 ***
## Fertilizacion           2  190.0    95.0  27.212 1.25e-07 ***
## Ambiente                1 1864.2  1864.2 533.887  < 2e-16 ***
## Fertilizacion:Ambiente  3   33.9    11.3   3.235    0.035 *  
## Residuals              32  111.7     3.5                     
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
tb=summary(Modelo1)
ifelse(unlist(tb)[24]<0.05,"Rechazo Ho1", "No rechazo Ho1" )
##       Pr(>F)4 
## "Rechazo Ho1"
ifelse(unlist(tb)[21]<0.05,"Rechazo Ho2", "No rechazo Ho2" )
##       Pr(>F)1 
## "Rechazo Ho2"
ifelse(unlist(tb)[22]<0.05,"Rechazo Ho3", "No rechazo Ho3" )
##       Pr(>F)2 
## "Rechazo Ho3"

Revisión de suepuestos

Normalidad

\[H_{04} : \text{los residuales del modelo tienen distribución normal} \]

Residuales=Modelo1$residuals
Normalidad=shapiro.test(Residuales)
Normalidad
## 
##  Shapiro-Wilk normality test
## 
## data:  Residuales
## W = 0.98215, p-value = 0.7685
ifelse(Normalidad$p.value < 0.05,"Rechazo Ho4", "No rechazo Ho4" )
## [1] "No rechazo Ho4"
# Los residuales tienen distribución normal

Homocedasticidad

\[H_{05}:\text{las medias de las varianzas de los ambientes son similares}\]

Amb=bartlett.test(Modelo1$residuals,Ambiente)
Amb
## 
##  Bartlett test of homogeneity of variances
## 
## data:  Modelo1$residuals and Ambiente
## Bartlett's K-squared = 7.1762, df = 1, p-value = 0.007388
ifelse(Amb$p.value < 0.05,"Rechazo Ho5", "No rechazo Ho5" )
## [1] "Rechazo Ho5"

\[H_{06}:\text{las medias de las varianzas de las densidades son similares}\]

Dens=bartlett.test(Modelo1$residuals,Densidad)
Dens
## 
##  Bartlett test of homogeneity of variances
## 
## data:  Modelo1$residuals and Densidad
## Bartlett's K-squared = 9.8522, df = 1, p-value = 0.001696
ifelse(Dens$p.value < 0.05,"Rechazo Ho6", "No rechazo Ho6" )
## [1] "Rechazo Ho6"

\[H_{07}:\text{las medias de las varianzas de las fertilizaciones son similares}\]

Fert=bartlett.test(Modelo1$residuals,Fertilizacion)
Fert
## 
##  Bartlett test of homogeneity of variances
## 
## data:  Modelo1$residuals and Fertilizacion
## Bartlett's K-squared = 16.517, df = 3, p-value = 0.0008883
ifelse(Fert$p.value < 0.05,"Rechazo Ho7", "No rechazo Ho7" )
## [1] "Rechazo Ho7"