[R] Debugging R's code: boxplot.stats

Duncan Murdoch murdoch at stats.uwo.ca
Sat Oct 28 14:03:33 CEST 2006


On 10/27/2006 11:06 PM, Matthew Walker wrote:
> Hi everyone,
> 
> I think I have found a minor issue with the R function "boxplot.stats".
> But before I make such a rash comment, I'd like to check my facts by
> fixing what I think is the problem.  However, why I try to do this, R
> does not behave as I expect.  Can you tell me what I'm doing wrong?
> 
> If I use the command:
> debug(boxplot.stats)
> I am allowed to step through the code as normal.
> 
> I then want to edit the function, so I type:
> boxplot.stats <- edit(boxplot.stats)
> and I make my changes.
> 
> I can check my changes have been made by typing:
> boxplot.stats
> and the updated version appears on screen.
> 
> But now when I come to test my changes, the "debug" functionality has
> just up and disappeared; I can no longer step though the function as
> normal.  Further to that, it appears that the change has somehow not
> been registered, as exactly the same error occurs---although I cannot be
> sure that it is occurring inside boxplot.stats.
> 
> Does anyone have any tips, suggestions or comments?  I'd love to be able
> to fix this.
> 
> (For what it's worth I wish to change line 14 of boxplot.stats so that
> it reads "if (any(out[nna],na.rm=TRUE))".)

Besides what Gabor said, an issue here is that boxplot.stats lives in 
the grDevices namespace.  If you call boxplot(), it will look there 
before it sees your locally modified copy.

For testing, you can call boxplot.stats directly from the console, or 
also make a local copy of boxplot.

Not sure why boxplot.stats is in grDevices rather than graphics, but 
that's not really relevant to your problems.

Duncan Murdoch



More information about the R-help mailing list