[Rd] library( ) and verbose=

Dirk Eddelbuettel edd at debian.org
Sun Jul 11 20:09:41 CEST 2004


On Sun, Jul 11, 2004 at 04:23:10PM +0200, Simon Urbanek wrote:
> On Jul 11, 2004, at 1:07 PM, Frank E Harrell Jr wrote:
> 
> >The Hmisc package has in its .First.lib function a verbose argument,
> >which I thought was the way to allow users to suppress certain 
> >messages,
> >by issuing library(Hmisc, verbose=FALSE).  But I see that library( )
> >does not pass verbose to .First.lib.  The default for verbose in Hmisc
> >is TRUE because .First.lib prints some important information about
> >masked functions.  What is the best way to fix this?
> 
> AFAIR the official way to suppress unwanted messages is 
> warn.conflicts=FALSE so the user probably wants to issue
> library(Hmisc, warn.conflicts=FALSE).

Not bad, but note that Hmisc has a very explicit

    .First.lib <- function(lib, pkg, verbose=TRUE, ...) {
      if(verbose)
          cat("Hmisc library by Frank E Harrell Jr\n\n",
              "Type library(help='Hmisc'), ?Overview, or ?Hmisc.Overview')\n",
	      [...]     
	      
so the additional option() Brian suggested way indeed be the best way.	      

> As of 'verbose' - it is not by default TRUE - it's actually determined 
> by the current "verbose" option, so users can actually change the 
> default as desired.

I tried that several different ways before I brought this to Frank's
attention. No method worked; I ended up altering the R code in the installed
package to set the verbose=FALSE in the snipped shown above.

> On the other hand .First.lib takes only two, fixed arguments, so AFAIK 
> you cannot pass any additional arguments from outside (I believe this 
> applies to .onLoad and friends, too).
> In fact I'm not quite sure what you want to "fix" here .. is it the 
> wish in general to be able to pass arguments to packages while being 
> loaded? In your specific case I'd say you don't need that since you 
> have always access to the 'verbose' option ...

Quite so.

Dirk

-- 
Those are my principles, and if you don't like them... well, I have others.
                                                -- Groucho Marx



More information about the R-devel mailing list