library(dplyr)
## Warning: package 'dplyr' was built under R version 4.1.3
## 
## 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
boxplot(mtcars$disp~factor(mtcars$gear),
        xlab = "gear", ylab = "disp")

mtcars_aov <- aov(mtcars$disp~factor(mtcars$gear))
summary(mtcars_aov)
##                     Df Sum Sq Mean Sq F value   Pr(>F)    
## factor(mtcars$gear)  2 280221  140110   20.73 2.56e-06 ***
## Residuals           29 195964    6757                     
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
attributes(mtcars_aov)
## $names
##  [1] "coefficients"  "residuals"     "effects"       "rank"         
##  [5] "fitted.values" "assign"        "qr"            "df.residual"  
##  [9] "contrasts"     "xlevels"       "call"          "terms"        
## [13] "model"        
## 
## $class
## [1] "aov" "lm"
mtcars_aov$coefficients
##          (Intercept) factor(mtcars$gear)4 factor(mtcars$gear)5 
##             326.3000            -203.2833            -123.8200
TukeyHSD(mtcars_aov)
##   Tukey multiple comparisons of means
##     95% family-wise confidence level
## 
## Fit: aov(formula = mtcars$disp ~ factor(mtcars$gear))
## 
## $`factor(mtcars$gear)`
##           diff       lwr        upr     p adj
## 4-3 -203.28333 -281.9100 -124.65666 0.0000016
## 5-3 -123.82000 -228.6556  -18.98443 0.0180037
## 5-4   79.46333  -28.5987  187.52536 0.1821800
plot(TukeyHSD(mtcars_aov))

plot(TukeyHSD(mtcars_aov), las=1)

kruskal.test(mtcars$disp~factor(mtcars$gear))
## 
##  Kruskal-Wallis rank sum test
## 
## data:  mtcars$disp by factor(mtcars$gear)
## Kruskal-Wallis chi-squared = 16.578, df = 2, p-value = 0.0002513