Re: [R] unexpected behavior in bwplot

From: Greg Snow <greg.snow_at_ihc.com>
Date: Wed 13 Jul 2005 - 07:12:39 EST


I had a similar problem when trying to modify a function from lattice. I second the opinion that it
would be nice if lattice exported more things. My soulution was to give my function the same
environment as the one I had copied, i.e. try:

environment(panel.mybwplot) <- environment(panel.bwplot)

I have included a line like this at the end of the script file that defines my new/modified lattice
functions, and as long as lattice is loaded first (could wrap the above in the body of an if
statement that calls library or require) then everything works fine (having the same environment
lets the new function find the non-exported functions).

Hope this helps,

Greg Snow, Ph.D.
Statistical Data Center, LDS Hospital
Intermountain Health Care
greg.snow@ihc.com
(801) 408-8111

>>> "Ritter, Christian C GSMCIL-GSTMS/2" <christian.ritter@shell.com>
07/12/05 05:08AM >>>
R-2.1.1 on windows XP

I just noticed something unpleasant when using bwplot (from lattice).

In order to satisfy a wish from a client, I needed to produce sets of boxplots conditioned by another factor. My client didn't like the look of the boxplots (by default, they have a star to mark the median, instead of the commonly used line). I told him "no problem" dumped panel.bwplot, added a line at the median, commented out the star, and sourced it back in as panel.mybwplot.

Then I tried to call it with bwplot(...,panel="panel.mybwplot"), but this hit two roadblocks. The first one was relatively easy: it didn't find the function current.viewport (from grid). Explicitely loading the package grid was sufficient (current.viewport is exported there). But then it stopped on chooseFace. It was not obvious to find where chooseFace was (in lattice, but not as an exported function in the namespace) and how to make it callable. I finally clobbered it by defining chooseFace<-lattice:::chooseFace. This certainly worked but is very inelegant. Could anyone point me to cleaner ways to do this?

On the other hand, I would have preferred if panel.bwplot would not use functions not exported to the outer namespace (or if lattice would make sure that all functions called in the standard panel functions were exported to the outer namespace). It is very common that we have to slightly modify standard panel functions and it is quite annoying having to chase for evenually hidden functions called by them. Comments?

Thanks in advance,

Christian Ritter
Functional Specialist Statistics
Shell Coordination Centre S.A.
Monnet Centre International Laboratory, Avenue Jean Monnet 1, B-1348 Louvain-La-Neuve, Belgium

Tel: +32 10 477 349 Fax: +32 10 477 219 Email: christian.ritter@shell.com
Internet: http://www.shell.com/chemicals

        [[alternative HTML version deleted]]



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

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 Received on Wed Jul 13 07:17:49 2005

This archive was generated by hypermail 2.1.8 : Fri 03 Mar 2006 - 03:33:35 EST