[R] Error Bars ggplot2

Adam Gabbert adamjgabbert at gmail.com
Thu Jul 26 19:49:37 CEST 2012

Hi Dennis,

Part of my problem could be that I'm unsure how to nest another variable
withn spd.f.  Perhaps if I give a better explanation of my goal things will
make more sense.

My intent is to calculate two sets of confidence intervals to show the
benefits of a DOE approach versus a Non-DOE approach.  For example, I want
to calculate the confidence intervals for "f" and "s" in two ways.  First
using a DOE approach, by taking the mean of the "f" or "s" values
plus/minus t-value at a 95%ci with 10df multiplied by the standard error
[mean(f-values) +- tval(.95ci,10df)*std.err].  Second using a "bin"
specific approach which only looks at the 6 "f" or "s" values (i.e,
mean(f-values) +- tval(.95ci, 5df)*std.err.mean).

This will leave me with two confidence intervals, that I want to plot side
by side to show that the DOE approach confidence interval will be smaller
for most cases.  I have attached a sample plot that shows the plot layout
I'm trying to get.




Your code makes no sense because the variable by which you want to
dodge is the same as the one you're using on the x-axis. Dodging by
subgroups is an application of visualizing nested data, which you
don't have (at least in the state that you posted). For your data,
this would work:

ggplot(data, aes(x = spd, y = r, colour = spd)) +
   geom_errorbar(aes(ymin = 3, ymax = 5), width = 0.1) +

I don't understand the point of the second geom_errorbar() call, so
I'm just avoiding it.

In order to dodge (appose groups in factor B side by side within each
level of factor A), you need a third variable whose values are nested
within levels of spd.f.


On Thu, Jul 26, 2012 at 6:03 AM, Adam Gabbert <adamjgabbert at gmail.com>
> Hello,
> I'm attempting to plot error bars side by side rather than stacked on top
> of each other with ggplot2.  Here is the sample code I am using:
> #Code
> #Data
> spd<-c("s","f","f","s","f","s","s","s","f","f","s","f")
> r<-c(4.9,3.2,2.1,.2,3.8,6.4,7.5,1.7,3.4,4.1,2.2,5)
> #Turn spd into a factor
> spd.f<-factor(spd)
> #Place data into a data frame
> data<-data.frame(cbind(spd.f,r))
> #Load ggplot2
> library(ggplot2)
> #Create plot
> pd<-position_dodge(.2)
> myplot<-ggplot(data,aes(x=spd,y=r,colour=spd))+
>   geom_errorbar(aes(ymin=3,ymax=5),width=.1)+
>   geom_point()+
>   geom_errorbar(aes(ymin=1,ymax=6),width=.1,colour="black",position=pd)
> #Display plot
> myplot
> I have attached a plot that my sample code produces.  As you can see the
> error bars are stacked.  How can I get them to plot side by side?
> Thanks
> AG

More information about the R-help mailing list