[Rd] Depending on many packages: another best practice question

hadley wickham h.wickham at gmail.com
Sun Feb 25 15:57:53 CET 2007


On 2/24/07, Prof Brian Ripley <ripley at stats.ox.ac.uk> wrote:
> On Sat, 24 Feb 2007, hadley wickham wrote:
>
> >> > ggplot currently requires 13 packages (grid, reshape, RColorBrewer,
> >> > proto, splines, MASS, Hmisc, boot, butler, hexbin, mapproj, quantreg,
> >> > sm).  Some of these are absolutely necessary (eg. proto), but most are
> >> > used for one or two specific tasks (eg. boot is only used to get
> >> > plogis, used for logit scales).
> >>
> >> Hmm, there is no plogis in boot, but there is in stats.
> >
> > Oops, I had originally included it to use logit and inv.logit, but
> > then realised I could use plogis etc instead.  That's one dependency
> > down.
> >
> >>
> >> > Do you think I should make them all "depends" packages, or "suggests"
> >> > packages, and then manually test for package presence before using a
> >> > certain function?  What is easier for users?
> >>
> >> The second, especially as from 2.5.0 the 'Depends' and 'Imports' are
> >> installed by default.
> >
> > Ok, that makes sense then.
> >
> >> What you have not mentioned is that those packages also have dependencies.
> >>
> >> Using 'Depends' on a non-CRAN package (e.g. hexbin) is definitely awkward
> >> for the user/sysadmin and I would try to avoid it.
> >
> > It's frustrating enough for the windows user, as suggests packages
> > seem to get installed by default as well.
>
> Prior to 2.5.0, yes, but not in future.

Great.  One more question:  do you have any suggstion for you I should
deal with examples?  Do I have to wrap those in conditional require
statements as well?  That seems to be the way to get R CMD check to
pass, but adds (unnecessary?) repitition.

Hadley



More information about the R-devel mailing list