[R] plot the number of replicates at the same point
Marc Schwartz (via MN)
mschwartz at mn.rr.com
Thu Jul 14 19:53:03 CEST 2005
On Thu, 2005-07-14 at 12:30 -0500, Deepayan Sarkar wrote:
> On 7/14/05, Kerry Bush <kerryrekky at yahoo.com> wrote:
> > Thank you for thinking about the problem for me.
> > However, I have found that your method doesn't work at
> > all.
> >
> > You may test the following example:
> >
> > x1=c(0.6,0.4,.4,.4,.2,.2,.2,0,0)
> > x2=c(0.4,.2,.4,.6,0,.2,.4,0,.2)
> > x1=rep(x1,4)
> > x2=rep(x2,4)
> > temp=data.frame(x1,x2)
> > temp1=table(temp)
> > plot(temp$x1,temp$x2,cex=0)
> > text(as.numeric(rownames(temp1)),
> > as.numeric(colnames(temp1)), temp1)
> >
> > what I got here is not what I wanted. You may compare
> > with
> > plot(x1,x2)
> >
> > I actually want some plots similar to what SAS proc
> > plot produced.
> >
> > Does anybody have a clue of how to do this easily in
> > R?
>
> Try this:
>
>
> x1=c(0.6,0.4,.4,.4,.2,.2,.2,0,0)
> x2=c(0.4,.2,.4,.6,0,.2,.4,0,.2)
> x1=rep(x1,4)
> x2=rep(x2,4)
> temp=data.frame(x1,x2)
>
> foo <- subset(as.data.frame(table(temp)), Freq > 0)
> foo$x1 <- as.numeric(as.character(foo$x1))
> foo$x2 <- as.numeric(as.character(foo$x2))
>
> with(foo, plot(x1, x2, type = "n"))
> with(foo, text(x1, x2, lab = Freq))
>
>
> -Deepayan
Great solution Deepayan. I was just in the process of working on
something similar.
One quick modification is that the two plot()/text() functions can be
combined into:
with(foo, plot(x1, x2, pch = as.character(Freq)))
Best regards,
Marc Schwartz
More information about the R-help
mailing list