From ripley at stats.ox.ac.uk  Fri May  5 16:12:05 2006
From: ripley at stats.ox.ac.uk (Prof Brian Ripley)
Date: Fri, 5 May 2006 15:12:05 +0100 (BST)
Subject: [Rd] Including a single function from a package
In-Reply-To: <445B5AED.7090108@Indiana.Edu>
References: <445B4845.6010804@Indiana.Edu>
	<Pine.LNX.4.64.0605051350530.613@gannet.stats.ox.ac.uk>
	<445B5AED.7090108@Indiana.Edu>
Message-ID: <Pine.LNX.4.64.0605051509060.3432@gannet.stats.ox.ac.uk>

On Fri, 5 May 2006, Ken Kelley wrote:

> Thank you both very much for your quick and helpful responses.
>
> I added "Imports: MASS, gsl" to the DESCRIPTION file and that took care of 
> loading in the desired functions just fine. I went back and took another look 
> at the "Specifying imports and exports" section (section 1.6.1) of the 
> Writing R Extensions manual and I do not see anything about including an 
> "Imports:" line in the DESCRIPTION file when including an "importFrom" in the 
> NAMESPACE file. Perhaps including this information in a future update should 
> be considered.

Well, no, it described under the DESCRIPTION file:

   The optional @samp{Imports} field lists packages whose namespaces are
   imported from but which do not need to be attached.

Note that caveat which complicates the issue and I think makes in 
inappropriate for that section.

> I was building the package on a machine that had a pre-release version of R 
> 2.3.0 (from some time ago). After updating to the released version of 2.3, 
> the warning about a "depreciated NULL environment" did not occur and the 
> package built just fine.
>
> Thanks again and have a good day,
> Ken
>
>
> Prof Brian Ripley wrote:
>> On Fri, 5 May 2006, Ken Kelley wrote:
>> 
>>> Hello all.
>>> 
>>> I'm building a package where I want to include a function from two
>>> different packages. In particular, I want to include mvrnorm and
>>> hyperg_2F1 from MASS and gsl, respectively (but the specific functions
>>> do not matter). With what I've tried after reading the "Specifying
>>> imports and exports" section from the "Writing R Extensions" manual, I
>>> get an error: "Namespace dependencies not required."
>> 
>> 
>> When do you get the error?
>> 
>>> My NAMESPACE file consists of the following:
>>> importFrom(MASS, mvrnorm)
>>> importFrom(gsl, hyperg_2F1)
>>> exportPattern("^[^\\.]")
>> 
>> 
>> Does your DESCRIPTION file contain
>> 
>> Imports: MASS gsl
>> 
>> ?
>> 
>>> A completely separate issue is that when running check, I get a warning
>>> at the "checking S3 generic/method consistency" line that states:
>>> "Warning: use of NULL environment is depreciated." I've looked at the
>>> "Generic functions and methods" in the Writing R Extensions manual and
>>> I'm still not sure what the "use of NULL environment is depreciated." I
>>> suppose this is not a big deal, but it seems best not to have any 
>>> warnings.
>> 
>> 
>> It is a big deal: your code will fail in 2.4.0 and not be allowed on CRAN 
>> now.  The message is probably not to do with that topic but to do with 
>> loading your package.  So can you install and load the package without any 
>> messages?
>> 
>>> I'm sure I'm just missing something simple on both of these issues. Any
>>> insight would be appreciated. I'm building the package with Win. XP.
>> 
>> 
>
>

-- 
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] Including a single function from a package
Prof Brian Ripley