Hello, Sorry if this is repeated somewhere, I imagine it must be a common issue but I can't find an answer! I have a data.frame with two responses, example (response variables to x are y1 and y2): df<-data.frame(x=1:10,y1=1:10,y2=11:20) I would like to see it on the same plot with different colours. The only thing I can think of is: df2<-rbind(df,df) df2[1:10,"y"]<-df$y1 df2[11:20,"y"]<-df$y2 df2[1:10,"yType"]<-'y1' df2[11:20,"yType"]<-'y2' ggplot(df2,aes(x=x,y=y,colour=yType))+geom_point(shape=1) Is there a better way? Thanks in advance, Ramiro [[alternative HTML version deleted]]
Hi, Try: library(reshape2) ?df2New <- melt(df,id.var="x") ?ggplot(df2New,aes(x=x,y=value,colour=variable))+geom_point(shape=1) A.K. On Monday, February 17, 2014 5:42 PM, Ramiro Barrantes <ramiro at precisionbioassay.com> wrote: Hello, Sorry if this is repeated somewhere, I imagine it must be a common issue but I can't find an answer! I have a data.frame with two responses, example (response variables to x are y1 and y2): df<-data.frame(x=1:10,y1=1:10,y2=11:20) I would like to see it on the same plot with different colours. The only thing I can think of is: df2<-rbind(df,df) df2[1:10,"y"]<-df$y1 df2[11:20,"y"]<-df$y2 df2[1:10,"yType"]<-'y1' df2[11:20,"yType"]<-'y2' ggplot(df2,aes(x=x,y=y,colour=yType))+geom_point(shape=1) Is there a better way? Thanks in advance, Ramiro ??? [[alternative HTML version deleted]] ______________________________________________ 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.
> Hello, > > Sorry if this is repeated somewhere, I imagine it must be a common issue > but I can't find an answer! > > I have a data.frame with two responses, example (response variables to x > are y1 and y2): > > df<-data.frame(x=1:10,y1=1:10,y2=11:20) > > I would like to see it on the same plot with different colours. > > The only thing I can think of is: > df2<-rbind(df,df) > df2[1:10,"y"]<-df$y1 > df2[11:20,"y"]<-df$y2 > df2[1:10,"yType"]<-'y1' > df2[11:20,"yType"]<-'y2' > > ggplot(df2,aes(x=x,y=y,colour=yType))+geom_point(shape=1) > > Is there a better way? > > Thanks in advance, > Ramiro >Hi Ramiro, Check out twoord.plot in the plotrix package. Jim
The quickest way, using the example data, would be matplot( df$x, df[,-1]) Obviously doesn't have the nice ggplot style, but it does do what was requested. And depending on the context and ultimate goal, may be sufficient. Simple improvements are easy: matplot( df$x, df[,-1], xlab='x', ylab='y1, y2', pch=c(1,4) , main='My Data' ) -Don p.s. As a personal and editorial aside, I often think that amongst all of the great extensions to R that have been developed over the years, the basics get forgotten. -- Don MacQueen Lawrence Livermore National Laboratory 7000 East Ave., L-627 Livermore, CA 94550 925-423-1062 On 2/17/14 2:41 PM, "Ramiro Barrantes" <ramiro at precisionbioassay.com> wrote:>Hello, > >Sorry if this is repeated somewhere, I imagine it must be a common issue >but I can't find an answer! > >I have a data.frame with two responses, example (response variables to x >are y1 and y2): > >df<-data.frame(x=1:10,y1=1:10,y2=11:20) > >I would like to see it on the same plot with different colours. > >The only thing I can think of is: >df2<-rbind(df,df) >df2[1:10,"y"]<-df$y1 >df2[11:20,"y"]<-df$y2 >df2[1:10,"yType"]<-'y1' >df2[11:20,"yType"]<-'y2' > >ggplot(df2,aes(x=x,y=y,colour=yType))+geom_point(shape=1) > >Is there a better way? > >Thanks in advance, >Ramiro > > [[alternative HTML version deleted]] > >______________________________________________ >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.