# Re: [R] plot the number of replicates at the same point

From: Marc Schwartz (via MN) <mschwartz_at_mn.rr.com>
Date: Fri 15 Jul 2005 - 06:16:39 EST

On Thu, 2005-07-14 at 15:08 -0500, Deepayan Sarkar wrote:
> On 7/14/05, Marc Schwartz (via MN) <mschwartz@mn.rr.com> wrote:
> > On Thu, 2005-07-14 at 12:30 -0500, Deepayan Sarkar wrote:
> > > On 7/14/05, Kerry Bush <kerryrekky@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)))
>
> Only as long as all(Freq < 10) (I've been bitten by this before. :-) ).
>
> Deepayan

D'oh!

Indeed you are correct, since 'pch' is a single character:

plot(1:20, pch = as.character(1:20))

as opposed to:

plot(1:20, type = "n")
text(1:20, lab = 1:20)

Thanks for the correction.

Marc

R-help@stat.math.ethz.ch mailing list