[Rd] S4 Method Collisions with "[" (PR#4075)

John Chambers jmc at research.bell-labs.com
Fri Sep 5 10:00:42 MEST 2003


colin at colinsmith.org wrote:
> 
> Full_Name: Colin A. Smith
> Version: 1.8.0
> OS: Mac OS X 10.2.6
> Submission from: (NULL) (216.102.90.18)
> 
> Both Biobase and my package annaffy use S4 classes to define methods for "[".
> Both packages use the save image method of installation. (See annaffy 1.0.3 in
> BioC CVS.)
> 
> Depending on how both packages are loaded, the Biobase definitions seem to be
> getting masked out:
> 
> > library(Biobase)
> > library(annaffy)
> > showMethods("[")
> 
> Function "[":
> x = "ANY"
> x = "container"
> x = "phenoData"
> x = "exprSet"
> x = "aafList"
> x = "aafTable"
> 
> > library(annaffy)
> (annaffy loads Biobase in .First.lib)

I'm not sure exactly what's happening, but with (or without) saved
images you should put a require(Biobase) _in the main source_ for the
library (in order to guarantee that it's there when setMethod(), etc.
calls are evaluated).  There is then no need to load it separately in
.First.lib.  I'm a little surprised this worked at all.

(We're trying to arrange that the source code for the package looks the
same as  it would if source'd directly into the global environment.)

> > showMethods("[")
> 
> Function "[":
> x = "ANY"
> x = "aafList"
> x = "aafTable"
> 
> ______________________________________________
> R-devel at stat.math.ethz.ch mailing list
> https://www.stat.math.ethz.ch/mailman/listinfo/r-devel

-- 
John M. Chambers                  jmc at bell-labs.com
Bell Labs, Lucent Technologies    office: (908)582-2681
700 Mountain Avenue, Room 2C-282  fax:    (908)582-3340
Murray Hill, NJ  07974            web: http://www.cs.bell-labs.com/~jmc



More information about the R-devel mailing list