Geom_errorbar, how to insert Standard Error in a barplot?

Hello everyone,

I have created a dataframe with a mean and the relative standard error and standard deviation.

My question is: how do I create a chart by including the standard error?
I am trying with the ggplot2 package, and I've used this code:


ps1<- ggplot(MediaSite, aes(fill = factor(Classe_Dimensionale, levels=c("0-5 cm", "5-10 cm", "10-15 cm", "15-20 cm", ">20 cm")), y=Media, x=Sito))

ps1 + geom_bar(position="dodge", stat="identity") +
ggtitle("Confronto medie presenze e classi dimensionali tra siti:") + xlab("Siti") + ylab("Media Presenze") + labs(fill = "Classe_Dimensionale") + geom_errorbar(aes(x=Sito, ymin=Media-se_score, ymax=Media+se_score), width=0.4, colour="orange", alpha=0.9, size=1.5)

This is my dataset:

SITO
Sito 1
Sito 2
Sito 1
Sito 2
Sito 1
Sito 2
Sito 1
Sito 2
Sito 1
Sito 2

Classe_Dimensionale
0-5 cm
0-5 cm
5-10 cm
5-10 cm
10-15 cm
10-15 cm
15-20 cm
15-20 cm

20 cm
20 cm

Media
0.25
1.50
0.00
5.75
0.75
12.75
1.25
18.25
0.00
25.00

se_score
0.25
1.5
0.00
5.421792
0.25
4.750000
0.75
6.811449
0.00
8.256311

Thank, you.

Can you make the dataset reproducible?

Here, Thanks

  Sito   Classe_Dimensionale Media  se_score 
  <chr>  <chr>               <dbl>     <dbl>   
1 Sito 1 0-5 cm               0.25      0.25     
2 Sito 2 0-5 cm                1.5       1.5       
3 Sito 1 5-10 cm                 0         0  
4 Sito 2 5-10 cm              5.75      5.42     
5 Sito 1 10-15 cm             0.75      0.25     
6 Sito 2 10-15 cm            12.75      4.75

ps. This is the error

Error in FUN(X[[i]], ...) : object "se_score" not found

Can you use paste the output of dput(head(MediaSite)) or datapasta::dpasta(MediaSite)?

Sure:

> dput(head(MediaSite))
structure(list(Sito = c("Sito 1", "Sito 2", "Sito 1", "Sito 2", 
"Sito 1", "Sito 2"), Classe_Dimensionale = c("0-5 cm", "0-5 cm", 
"5-10 cm", "5-10 cm", "10-15 cm", "10-15 cm"), Media = c(0.25, 
1.5, 0, 5.75, 0.75, 12.75), Log_Media = c(-0.60206, 0.17609, 
0, 0.75967, -0.82391, 0.24304), Abbondanza_Totale = c(1, 6, 0, 
23, 3, 51), se_score = c(0.25, 1.5, 0, 5.421792, 0.25, 4.75), 
    sd_score = c(0.5, 3, 0, 10.84358, 0.5, 9.5)), row.names = c(NA, 
-6L), class = c("tbl_df", "tbl", "data.frame"))
     ~Sito, ~Classe_Dimensionale, ~Media, ~Log_Media, ~Abbondanza_Totale, ~se_score, ~sd_score,
  "Sito 1",             "0-5 cm",   0.25,   -0.60206,                  1,      0.25,       0.5,
  "Sito 2",             "0-5 cm",    1.5,    0.17609,                  6,       1.5,         3,
  "Sito 1",            "5-10 cm",      0,          0,                  0,         0,         0,
  "Sito 2",            "5-10 cm",   5.75,    0.75967,                 23,  5.421792,  10.84358,
  "Sito 1",           "10-15 cm",   0.75,   -0.82391,                  3,      0.25,       0.5,
  "Sito 2",           "10-15 cm",  12.75,    0.24304,                 51,      4.75,       9.5,
  "Sito 1",           "15-20 cm",   1.25,    0.09691,                  5,      0.75,       1.5,
  "Sito 2",           "15-20 cm",  18.25,    1.26126,                 73,  6.811449,   13.6229,
  "Sito 1",             ">20 cm",      0,          0,                  0,         0,         0,
  "Sito 2",             ">20 cm",     25,    1.39794,                100,  8.256311,  16.51262
ggplot(MediaSite, aes(y=Media, x=Sito, fill = factor(Classe_Dimensionale,
                                    levels=c("0-5 cm", "5-10 cm", "10-15 cm", "15-20 cm", ">20 cm")))) + 
  geom_bar(position=position_dodge(), stat="identity") +
  ggtitle("Confronto medie presenze e classi dimensionali tra siti:") + 
  labs(x = "Siti", y = "Media Presenze", fill = "Classe_Dimensionale") + 
  theme(legend.position = "bottom") +
  geom_errorbar(aes(ymin=Media-se_score, ymax=Media+se_score),
                width=0.4, colour="orange", alpha=0.9, size=1.5, position = position_dodge(.9))

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.

If you have a query related to it or one of the replies, start a new topic and refer back with a link.