Я пытаюсь построить стандартную планку погрешностей по многоуровневой гистограмме данных, которые очень похожи на следующее:ggplot положение errorbar проблема многофакторной
mth<-rep(c("June","July","August"),length.out=15)
yr<-rep(c("1999","2000","2005","2009","2010"),each=3)
X<-rnorm(15,mean=200,sd=100)
lng<-rep(c(30,31,31),length.out=15)
vrnc<-rnorm(15,mean=740,sd=300)
df<-data.frame(mth,yr,vrnc,lng,X)
dfi<-dim(df)[1]
for(i in 1:dfi){
df$X.se[i]<-sqrt(df$vrnc[i]/df$lng[i])
}
Я попытался размещением брусков ошибок, используя stat_summary, описанный в this thread. Мой код с stat_summary выглядит следующим образом:
ggplot(df,aes(x=yr,y=X,fill=mth))+
stat_summary(fun.y=mean, geom="bar",position=position_dodge(1)) +
stat_summary(fun.ymin=min,fun.ymax=max,geom="errorbar",
color="grey40",position=position_dodge(1), width=.2) +
geom_errorbar(data=df,aes(ymin=X-X.se,ymax=X+X.se,position="dodge",width=.2))+
scale_fill_discrete("mth")
Я также попытался использовать этот код:
ggplot(df,aes(x=yr,y=X,fill=mth))+
geom_bar(stat="identity",position="dodge")+
geom_errorbar(data=df,aes(ymin=X-X.se,ymax=X+X.se,position="dodge",width=.2))
но результат всегда выходит с погрешностями все в середине каждого года.
Я хотел бы знать, что я делаю неправильно. каждая строка ошибок должна быть в верхней части месяца/года, указанного в данных.
Просто немного дальнейших объяснений: главная причина, по которой errorbars не уклоняясь, что 'position' должно быть указано * вне * из' ИСЗ() 'отображение. –
@RichAtMango: Бинго! Огромное спасибо. –