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

Gabor Grothendieck ggrothendieck at gmail.com
Sun Feb 25 16:38:18 CET 2007


You can use

if(require(myPackage)) { ... }

or

\dontrun{ ... }

or

make them demos in the myPackage/demo directory since demos
are not checked.


On 2/25/07, hadley wickham <h.wickham at gmail.com> wrote:
> 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
>
> ______________________________________________
> R-devel at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-devel
>



More information about the R-devel mailing list