DF <- structure(list(Zona = c("costera", "intermedia", "oceanica",
"control", "costera", "intermedia", "oceanica", "control", "costera",
"intermedia", "oceanica", "control", "costera", "intermedia",
"oceanica", "control", "costera", "oceanica", "control", "costera",
"oceanica", "control"),
NorteSur = c("Norte", "Norte", "Norte", "Norte", "Sur", "Sur", "Sur",
"Sur", "Norte", "Norte", "Norte", "Norte", "Sur", "Sur",
"Sur", "Sur", "Norte", "Norte", "Norte","Sur", "Sur", "Sur"),
Fase = c("A", "A", "A", "A", "A", "A","A", "A", "D", "D", "D", "D", "D",
"D", "D", "D", "DP", "DP","DP", "DP", "DP", "DP"),
T = c(18.4, 18.51, 18.2, 18.5, 18.01,17.91, 17.3, 17.2, 18.7, 18.7, 18.8,
18.6, 18.7, 18.9, 18.8,18.5, 16.25, 16.35, 16.5, 16.2, 16.15, 16.1),
MO = c(1.715, 0.955,0.825, 1.3, 2, 1.16, 1.15, 1.07, 0.95, 0.4, 1.12, 1.17, 0.96,
0.98, 1.05, 0.47, 0.57, 0.43, 0.97, 0.59, 0.53, 0.26),
Tiposedimento = c("arena media","arena fina", "arena muy fina", "arena fina",
"arena fina", "arena media","arena gruesa", "arena gruesa",
"arena fina", "arena fina", "arena gruesa","arena muy gruesa",
"arena fina", "arena fina", "arena fina","arena gruesa",
"arena fina", "arena gruesa", "arena muy fina",
"arena muy fina", "arena fina", "arena fina"),
granulometria = c(2.9,0, 5.85, 5.41, 8.44, 0.27, 0.41, 0, 4.8, 2.3, 3, 3,
4.8, 4.2,4.8, 1.2, 2.4, 1.2, 1.2, 1.8, 2.4, 3)),
row.names = c(NA, -22L), class = c("tbl_df", "tbl", "data.frame"))
library(dplyr)
#>
#> 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
library(ggplot2)
#> Warning: package 'ggplot2' was built under R version 4.0.5
DF %>% group_by(NorteSur, Fase) %>% summarize(Promed = mean(T)) %>%
ggplot(aes(x = Fase, y = Promed, fill = NorteSur)) + geom_col(position = position_dodge2())
#> `summarise()` regrouping output by 'NorteSur' (override with `.groups` argument)

Created on 2021-08-26 by the reprex package (v0.3.0)