Y=c(14.823,
    14.676,
    14.72,
    14.5141,
    15.065,
    25.151,
    25.401,
    25.131,
    25.031,
    25.267,
    32.605,
    32.46,
    32.256,
    32.669,
    32.111
    
)
trat=rep(c("trat1","trat2","trat3"),each=5)

df<-data.frame(trat=trat,Y=Y)

modelo<-aov(Y~trat,data=df)
summary(modelo)
##             Df Sum Sq Mean Sq F value Pr(>F)    
## trat         2  788.3   394.2   10132 <2e-16 ***
## Residuals   12    0.5     0.0                   
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
boxplot(Y~trat,data=df)

h<-TukeyHSD(modelo)
plot(h)

res<-modelo$residuals
qqnorm(res)
qqline(res)

shapiro.test(res)
## 
##  Shapiro-Wilk normality test
## 
## data:  res
## W = 0.97219, p-value = 0.8891

```