[Rd] warning from install.packages()

Vincent Goulet Vincent.Goulet at act.ulaval.ca
Thu Jun 3 16:24:21 CEST 2010


Le jeu. 3 juin à 09:27, Ben Bolker a écrit :

> Martin Maechler wrote:
>>>>>>> "BB" == Ben Bolker <bolker at ufl.edu>
>>>>>>>    on Wed, 02 Jun 2010 13:45:18 -0400 writes:
>> 
>>    BB> Michael Dewey wrote:
>>>> At 13:40 01/06/2010, Ben Bolker wrote:
>>>> 
>>>>>> On 25/05/10 23:25 PM, "Ben Bolker" <bolker <at> ufl.edu> wrote:
>>>>>> Just curious: is there a particular reason why install.packages()
>>>>>> gives a warning in normal use when 'lib' is not specified (e.g. argument
>>>>>> 'lib' is missing: using '/usr/local/lib/R/site-library' )?
>>>> 
>>>> As I see it R is saying 'I am doing what you told 
>>>> me, but just in case I am checking whether that 
>>>> was what you really wanted'. Note that you do not 
>>>> get a warning if there was only one place R could 
>>>> put it. I would certainly vote for a message if 
>>>> people are getting unnecessarily alarmed by the warning.
>> 
>>    BB> But this seems so different from R's general philosophy/behavior
>>    BB> (inherited from Unix?) that a function that gets correct input and
>>    BB> executes without error returns silently ...
>> 
>> That's correct.
>> Note however that installing a package is not just a thing
>> happening in your R session.
>> It will affect all your future R sessions, and possibly even
>> other users' who have the same  .libPaths()[1]
>> {e.g. the group here does share it}.
>> 
>> I'd agree to not put a warning but I'd definitely want a message
>> aka "note" to the user.
>> The *wording* of that note should not be alarming at all, I
>> agree, just a note to the user.
>> 
>> Martin Maechler, ETH Zurich
> 
>  OK, then, how about this as a minimal change?
> 
> ===================================================================
> --- packages.R	(revision 52192)
> +++ packages.R	(working copy)
> @@ -534,8 +534,8 @@
> 
>     if(missing(lib) || is.null(lib)) {
>         lib <- .libPaths()[1L]
> -        warning(gettextf("argument 'lib' is missing: using %s", lib),
> -                immediate. = TRUE, domain = NA)
> +        message(gettextf("argument 'lib' is missing: using %s", lib),
> +                domain = NA)
>     }
> 
>     paths <- .find.package(pkgs, lib)
> Index: packages2.R
> ===================================================================
> --- packages2.R	(revision 52192)
> +++ packages2.R	(working copy)
> @@ -193,8 +193,8 @@
>     if(missing(lib) || is.null(lib)) {
>         lib <- .libPaths()[1L]
>         if(length(.libPaths()) > 1L)
> -            warning(gettextf("argument 'lib' is missing: using '%s'", lib),
> -                    immediate. = TRUE, domain = NA)
> +            message(gettextf("argument 'lib' is missing: using '%s'", lib),
> +                    domain = NA)
>     }
> 
>     ## check for writability by user

I wholeheartedly support the change discussed here since it is also something that has been worrying my students for some time.

However, I think saying "argument 'lib' not specified: using '%s'" would be even less alarming. "... is missing" sort of implies the user forgot something.

My 0.02 $


Dr. Vincent Goulet
Full Professor
École d'actuariat, Université Laval, Québec 
vincent.goulet at act.ulaval.ca   http://vgoulet.act.ulaval.ca


> 
> 
> -- 
> Ben Bolker
> Associate professor, Biology Dep't, Univ. of Florida
> *** NEW E-MAIL ADDRESSES:
> ***   bbolker at gmail.com , bolker at math.mcmaster.ca
> bolker at ufl.edu / people.biology.ufl.edu/bolker
> GPG key: people.biology.ufl.edu/bolker/benbolker-publickey.asc
> 
> <signature.asc><ATT00001..txt>



More information about the R-devel mailing list