On Sat, 2006-10-28 at 08:03 -0400, Duncan Murdoch wrote: > 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 >
Hi Duncan, Thanks for your reply. How do you know that (i) boxplot.stats lives in the grDevices namespace? and (ii) how do you know/change that boxplot will look in grDevices before it uses the local copy? I tried to do as you suggested and create a local copy of boxplot. I used the following commands: boxplot.stats <- edit(boxplot.stats) # Made changes to line 14 boxplot <- edit(boxplot) boxplot.default <- edit(boxplot.default) # Added a call to "cat()" When I called boxplot() the local copy was executed (as I could see the output of my "cat" commands), however it appears that the local copy of boxplot.stats isn't the one being called from my version of "boxplot". How do I fix this? Thanks again, Matthew ______________________________________________ R-help@stat.math.ethz.ch 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.