2016-03-01 1 views
0

Je suis coincé avec mon travail dans R. Je veux montrer les barres d'erreur sur le graphique à barres ayant des variables de groupe. Voici les données (nom de fichier s4.csv). J'utilise le code suivant:Comment ajouter barre d'erreur sur un graphique à barres

a<- read.csv(file= "s4.csv") 

error<- a$Zn_STD 
ggplot(a, aes(Variety, Zn))+labs(title="Zinc in flesh and pits of dates") + geom_bar(stat="identity", group= "Variety", fill='steelblue') + 
     facet_wrap(~ Part)+theme(panel.background = element_rect (fill = "White"))+ 
ggplot(geom_errorbar(aes(ymin=a$Zn, ymax=a$Zn+error, width = 0.2), position=position_dodge(width=0.8))) 


# Here is my Data 
# This data contain 3 varieties designated as V and 2 parts (designated as Flesh and Pits) Standard deviation is mentioned as Zn_STD. 

Variety Part  Zn  Zn_STD 
V 1 Flesh 0.313333333 0.087 
V 2 Flesh 1.113333333 0.43 
V 3 Flesh 1.38   0.34 
V 1 Pits  1.913333333 0.87 
V 2 Pits  1.113333333 0.38 
V 3 Pits  1.202222222 0.28 
+0

Ne pas envelopper la 'geom_errorbar' dans un appel' ggplot'. – Roland

Répondre

1

S'il vous plaît ne pas utiliser barplots pour autre chose que compter les données (voir par exemple this citation). Chaque fois que vous faites, un statisticien saute d'un grand pont. Utilisez des points à la place. ggplot2 offrent une belle geom pour cela. L'exemple suivant provient de ggplot2 documentation page.

df <- data.frame(
    trt = factor(c(1, 1, 2, 2)), 
    resp = c(1, 5, 3, 4), 
    group = factor(c(1, 2, 1, 2)), 
    upper = c(1.1, 5.3, 3.3, 4.2), 
    lower = c(0.8, 4.6, 2.4, 3.6) 
) 

library(ggplot2) 

ggplot(df, aes(trt, resp, colour = group)) + 
    geom_pointrange(aes(ymin = lower, ymax = upper)) 

enter image description here