[Rd] S4 Methods dispatch

Prof Brian Ripley ripley at stats.ox.ac.uk
Wed Aug 30 19:17:08 CEST 2006


On Wed, 30 Aug 2006, Henrik Bengtsson wrote:

> [Cross-posting to BioC-devel to]
> 
> Thank you for this.
> 
> > The changes are internal but extensive.  All packages that use S4
> > methods and classes need to be reinstalled from source to use the new
> > version.
> 
> Is there an easy way to detect if a package is using S4 or not?  If

Yes, look at the Depends field of the DESCRIPTION

a <- installed.packages()
aa <- as.vector(a[grep("methods", a[, "Depends"]), 1])
install.packages(aa)

If you want to install them in the same place as before, do this for each 
library in turn.

I'd hold off for a few days if you can: some packages will not yet 
reinstall.

> so, I could scan my already installed libraries and call
> install.packages() on its S4 subset of packages.  The alternative is
> to do install.packages() an all libraries (sic!).  Bioconductor: maybe
> biocLite() could have such an update mechanism built in internally?
> 
> If I miss to reinstall one S4 package, what should I expect?  I assume
> there will be an error, but I just want to confirm that there is no
> risk of getting weird "results" but still a running program?
> 
> Reinstallation is also required for all package that comes as Windows
> binaries, correct?

Correct, and from source at that since Uwe is not yet building packages 
under R-devel (and his '2.4' is really 2.3, as I understand it).

-- 
Brian D. Ripley,                  ripley at stats.ox.ac.uk
Professor of Applied Statistics,  http://www.stats.ox.ac.uk/~ripley/
University of Oxford,             Tel:  +44 1865 272861 (self)
1 South Parks Road,                     +44 1865 272866 (PA)
Oxford OX1 3TG, UK                Fax:  +44 1865 272595



More information about the R-devel mailing list