Да, следует, вы можете попробовать что-то вроде ниже, где я использовал пример набора данных:
ggplot(ToothGrowth,aes(x=factor(dose),y=len,fill=supp)) +
stat_summary(fun.y=mean,geom="bar",position=position_dodge()) +
stat_summary(fun.data=mean_se,geom="errorbar",
position=position_dodge(0.9),width=0.2)
![enter image description here](https://i.stack.imgur.com/uCH7N.png)
Мы можем вычислить это вручную :
library(dplyr)
se_data = ToothGrowth %>%
group_by(dose,supp) %>%
summarise(mean=mean(len),se=sd(len)/sqrt(n()))
# A tibble: 6 x 4
# Groups: dose [3]
dose supp mean se
<dbl> <fct> <dbl> <dbl>
1 0.5 OJ 13.2 1.41
2 0.5 VC 7.98 0.869
3 1 OJ 22.7 1.24
4 1 VC 16.8 0.795
5 2 OJ 26.1 0.840
6 2 VC 26.1 1.52
ggplot(se_data,aes(x=factor(dose),y=mean,fill=supp)) +
geom_bar(stat="identity",position="dodge") +
geom_errorbar(aes(ymin=mean-se,ymax=mean+se),
position=position_dodge(0.9),width=0.2)
![enter image description here](https://i.stack.imgur.com/qokYr.png)