[Rd] How graphical an interface should the default be?
Prof Brian Ripley
ripley at stats.ox.ac.uk
Fri Feb 25 13:09:48 CET 2005
On Fri, 25 Feb 2005, Robert Gentleman wrote:
> On Feb 25, 2005, at 3:11 AM, Prof Brian Ripley wrote:
>
>> install/update.packages will have a lot of changes in 2.1.0, and I have
>> been adding some widgets to go along with this.
>>
>> - Rather than just CRAN and BIOC, you have a character vector of
>> repositories. There is a function setRepositories() to set the
>> appropriate option().
>>
>> - There is no default CRAN, but a function chooseCRANmirror() to set a
>> mirror, which is invoked if you try to access CRAN without setting a
>> mirror.
>>
>> - update.packages(ask="graphics") brings up a listbox for you to de-select
>> packages (all available updates are pre-selected).
>>
>> - install.packages() with no/empty pkgs argument brings up a listbox of
>> all available packages (including those inside bundles).
>>
>> - menu(graphics=TRUE) is implemented.
>>
>> These can be set up to use widgets where available (Windows, if Tk is
>> available under X11, I hope Aqua before release), and have a text-mode
>> fallback (better than the current menu(), but in that spirit). (Except that
>> is install.packages: text-mode selection from 480 packages even in three
>> columns is not useful to me, but a scrolling list works well as Windows
>> users of R already know.)
>>
>> My question is:
>>
>> What should be default be?
>>
>> Options might be:
>>
>> - use the graphics widget if available.
>>
>> - make the graphics the default on Windows (it will always be available,
>> but not necessarily on the right screen under DCOM uses).
>>
>> - make text-mode the default on Unix.
>>
>> - do different things for different tools. Currently setRepositories()
>> and chooseCRANmirror() default to graphics-if-possible, and
>> update.packages() defaults to text mode (which gives more
>> detailed information).
>>
>> I am not really in favour of making the defaults a set of options, but that
>> is possible.
>>
>>
>> This is a request for input on what would be a good compromise for general
>> R users (and not just the R-devel audience).
>>
>
> Hi,
> Thanks for taking this on - it looks like a big step forward. I have some
> pretty minor comments/questions. We will, of course, try to adapt the BioC
> code in time...
>
> We probably want to be sure that any function calling one of these has
> complete control and can override user defined defaults.
They have arguments to control this, e.g.
> args(chooseCRANmirror)
function (graphics = TRUE)
> I am not completely clear on your model for how the repositories are
> searched though. Two questions come to mind: 1) How do I get the most recent
> version of a package, regardless of which repository it is in?
That is the documented default behaviour. (`Most recent' = `highest
version number'.) If more than one repository offers the same version, it
is taken from the first on the list.
Icens is the only example that I have noticed, where BioC has a later
version than CRAN.
setRepositories allows users to choose the order only in the text version,
and you can of course just set the option from the command-line.
> 2) Can a package from one repository have its dependencies resolved in
> another repository, or not?
Yes, but looking for dependencies is not the default, so you can
do something like
install.packages("foo", repos="http://www.bioconductor.org",dependencies=TRUE)
to confine the search.
> (this last one is a real can of worms - in my view, as one might really
> prefer a same repository solution, but that means that repositories
> might need to completely contain CRAN - which is clearly less
> desirable). And of course this may be too fine a level of detail, but
> these problems have come up in our experience.
>
> I think it would be nice if getting dependencies had two (or more
> levels), so that I could get only those packages that the current
> package "Depends" on, and a second level where I could get both the
> "Suggests" and the "Depends". For me (at least) Suggests is weaker, and
> for many users the "Suggests" set of packages is not always needed - the
> "Depends" set, is though. Currently the dependencies option seems to
> only allow TRUE and FALSE.
That's true as for 2.0.0, and we could easily refine it (you need Imports
too).
Brian
--
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