Dados

#SIMULAÇÃO
dados = data.frame("Silagens" = rep(c("Milho","Cana", "Sorgo", "Tithonia"), each=6),"Blocos" = rep(c("I", "II", "III", "IV", "V", "VI"), times=4))
set.seed(3459)
Milho=rnorm(6, mean = 480, sd = 40)
Cana=rnorm(6, mean = 450, sd = 40)
Sorgo=rnorm(6, mean = 460, sd = 40)
Tithonia=rnorm(6, mean = 490, sd = 40)
dados$peso=c(Milho,Cana, Sorgo, Tithonia)
dados
##    Silagens Blocos     peso
## 1     Milho      I 494.8560
## 2     Milho     II 475.2913
## 3     Milho    III 436.3242
## 4     Milho     IV 376.7605
## 5     Milho      V 474.5485
## 6     Milho     VI 429.9814
## 7      Cana      I 460.3909
## 8      Cana     II 364.0620
## 9      Cana    III 426.9106
## 10     Cana     IV 486.9001
## 11     Cana      V 444.0223
## 12     Cana     VI 351.6571
## 13    Sorgo      I 419.0773
## 14    Sorgo     II 455.7393
## 15    Sorgo    III 441.5352
## 16    Sorgo     IV 430.8615
## 17    Sorgo      V 418.8376
## 18    Sorgo     VI 376.7051
## 19 Tithonia      I 597.3355
## 20 Tithonia     II 442.0970
## 21 Tithonia    III 535.3202
## 22 Tithonia     IV 424.4159
## 23 Tithonia      V 517.3090
## 24 Tithonia     VI 554.0816
dados$Silagens=as.factor(dados$Silagens)
dados$Blocos=as.factor(dados$Blocos)
View(dados)

Análise exploratória

psych::describe(dados)
##           vars  n   mean    sd median trimmed   mad    min    max  range skew
## Silagens*    1 24   2.50  1.14   2.50    2.50  1.48   1.00   4.00   3.00 0.00
## Blocos*      2 24   3.50  1.74   3.50    3.50  2.22   1.00   6.00   5.00 0.00
## peso         3 24 451.46 59.38 441.82  448.39 41.30 351.66 597.34 245.68 0.52
##           kurtosis    se
## Silagens*    -1.49  0.23
## Blocos*      -1.41  0.36
## peso         -0.11 12.12
library(ggplot2)
ggplot(dados, aes(x=Silagens, y=peso))+
  geom_boxplot()+theme_classic()

hist(dados$peso)


Avaliação das pressuposições

mod <- aov(peso~Silagens, data = dados)
summary(mod)
##             Df Sum Sq Mean Sq F value Pr(>F)  
## Silagens     3  31576   10525   4.252 0.0178 *
## Residuals   20  49512    2476                 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
hist(rstandard(mod))

car::qqp(mod)

## [1] 19 22
shapiro.test(rstandard(mod))#normalidade 
## 
##  Shapiro-Wilk normality test
## 
## data:  rstandard(mod)
## W = 0.94844, p-value = 0.2506
car::leveneTest(rstandard(mod)~Silagens, data=dados)#Homocedasticidade
## Levene's Test for Homogeneity of Variance (center = median)
##       Df F value Pr(>F)
## group  3  1.2176 0.3292
##       20

Os dados vem de uma distribuição normal e são homocedásticos, de acordo com os testes de Shapiro-Wilk e Levene, respectivamente.


Anova e tukey

#Outlier
boxplot(dados$peso)

#Medias
library(emmeans)
medias=emmeans(mod,~ Silagens)
summary(mod)
##             Df Sum Sq Mean Sq F value Pr(>F)  
## Silagens     3  31576   10525   4.252 0.0178 *
## Residuals   20  49512    2476                 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
summary(medias)
##  Silagens emmean   SE df lower.CL upper.CL
##  Cana        422 20.3 20      380      465
##  Milho       448 20.3 20      406      490
##  Sorgo       424 20.3 20      381      466
##  Tithonia    512 20.3 20      469      554
## 
## Confidence level used: 0.95
#Tukey
library(multcompView)
tukey = TukeyHSD(mod)
print(tukey)
##   Tukey multiple comparisons of means
##     95% family-wise confidence level
## 
## Fit: aov(formula = peso ~ Silagens, data = dados)
## 
## $Silagens
##                      diff         lwr       upr     p adj
## Milho-Cana      25.636485  -54.766533 106.03950 0.8088071
## Sorgo-Cana       1.468836  -78.934181  81.87185 0.9999503
## Tithonia-Cana   89.436013    9.032995 169.83903 0.0258831
## Sorgo-Milho    -24.167648 -104.570666  56.23537 0.8341988
## Tithonia-Milho  63.799528  -16.603489 144.20255 0.1516705
## Tithonia-Sorgo  87.967176    7.564159 168.37019 0.0288652
tukey.cld= multcompLetters4(mod, tukey)
print(tukey.cld)
## $Silagens
## Tithonia    Milho    Sorgo     Cana 
##      "a"     "ab"      "b"      "b"