From ripley at stats.ox.ac.uk  Sat Feb 24 21:13:50 2007
From: ripley at stats.ox.ac.uk (Prof Brian Ripley)
Date: Sat, 24 Feb 2007 20:13:50 +0000 (GMT)
Subject: [Rd] Depending on many packages: another best practice question
In-Reply-To: <f8e6ff050702241121q1890ab16sff1d19bbb432eff6@mail.gmail.com>
References: <f8e6ff050702231738x74d515c1pd246403fdf8ad21a@mail.gmail.com> 
	<Pine.LNX.4.64.0702241828570.14494@gannet.stats.ox.ac.uk>
	<f8e6ff050702241121q1890ab16sff1d19bbb432eff6@mail.gmail.com>
Message-ID: <Pine.LNX.4.64.0702242013310.15657@gannet.stats.ox.ac.uk>

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.

>
>> I've been here with ggplot for my GGobi class, and a smaller set of
>> would have been helpful.  Do you really need reshape, for example?
>
> Reshape powers the facetting, so is essential.  It also reflects my
> philosophy of separating data manipulation from display, as opposed to
> lattice which often combines the two (there are advantages and
> disadvantages to both, of course)
>
> I think the minimum I need is grid, reshape, and proto, none of which
> have any further dependencies.
>
> Hadley
>

-- 
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



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