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
Is this what you mean?
dat1 <- data.frame( 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))
myplot<-ggplot(dat1, aes(spd, r, colour = spd)) +
geom_errorbar(aes(ymin=3, ymax=5), width=.1) +
geom_point() + coord_flip()
John Kane
Kingston ON Canada
> -----Original Message-----
> From: adamjgabbert at gmail.com
> Sent: Thu, 26 Jul 2012 09:03:44 -0400
> To: r-help at r-project.org
> Subject: [R] Error Bars ggplot2
>
> 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
> ______________________________________________
> R-help at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide
> http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.
____________________________________________________________
GET FREE 5GB EMAIL - Check out spam free email with many cool features!
Visit http://www.inbox.com/email to find out more!
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. Thanks AG Hi: 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) + geom_point() 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. HTH, Dennis On Thu, Jul 26, 2012 at 6:03 AM, Adam Gabbert <adamjgabbert at gmail.com> wrote:> 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