Skip to content
Prev 59598 / 398502 Next

How to correct this

This raises the question of "best practice." My answer was predicated on the fact that Jin Li had been attempting to use grid.circle in the first place without success. I rashly made the assumption that there was already a move to try and use some of the more sophisticated techniques within R.

This is a good example of the comments in the "hidden costs" thread, where the pathways to learning R came under some scrutiny. It is also similar to the "[R] How to insert one element into a vector?" where it is noted that append can be used to insert the element. That is the function appears to be originally written for one purpose, but it is evident that it has a broader application that is not immediately recognizable from the function name. When you are new to R it can seem confusing that you use rect for rectangles but symbols for circles, or segments for lines and lines for not lines, but they really are lines.

I am not yet proficient enough to always know which is the best approach. That's even with defining best as quickest, most easily maintained or most readable etc etc.

Now to the point. I have formed a collection of graphics that I have prepared over the last two years which I use to remind myself of the little idiosyncrasies of the various techniques. These of course have evolved as I have. They mostly use data that I cannot make available. I thought it might be a good idea to produce reproducible code that shows the bewildering variety ways to skin the proverbial animal. That is to produce code that can create a PDF flipbook of plots. One of the first things that I do when I load a package, is to run the examples that produce graphical output. I tend to work backwards and understand processes better when I know what the final output looks like. I am mathematically challenged, but can often appreciate what is happening once I see the plot. Ideally the code would include all the bells and whistles. I say this because I have spent hours trying to figure out just exactly what something is supposed to do before finally figuring out that it was really much simpler than I had thought. The bells and whistles should also show how you sometimes have to use par outside of the function (or remember that the ... is there for a reason) to get the effect that you want. For example when I load the vcd package to do mosaicplots I think I have to use par(xpd = TRUE) to get my multi-line labels not to be clipped.

As an evolving beast I see this as a way of demonstrating the techniques that are generally regarded as being "best practice" in a comprehensive manner.

In short I am volunteering. What for? I am not quite sure, but it includes example plots using data that helps in clarifying how the plot should be used. The last point means that I am not capable of producing some plots (and the examples in some packages already do this well) as I have no idea what they mean even when I have plotted the example. 

Tom Mulholland




-----Original Message-----
From: Paul Murrell [mailto:p.murrell at auckland.ac.nz]
Sent: Tuesday, 23 November 2004 3:05 AM
To: Mulholland, Tom
Cc: Jin.Li at csiro.au; r-help at stat.math.ethz.ch
Subject: Re: [R] How to correct this


Hi
Mulholland, Tom wrote:
In this case, using grid (or gridBase) is probably overkill.  The 
symbols() function should do what you want.  For example, ...

symbols(rep(0.5, 4), rep(0.5, 4), circles=1:4, add=TRUE)

Paul