From murdoch.duncan at gmail.com  Sun Oct 20 22:49:44 2013
From: murdoch.duncan at gmail.com (Duncan Murdoch)
Date: Sun, 20 Oct 2013 16:49:44 -0400
Subject: [Rd] Question about selective importing of package functions...
In-Reply-To: <CABG0rfuqopYT3mDwZ9JXsketm5bw_wcAgzHGy4MrZ1F2HmUfUA@mail.gmail.com>
References: <CABG0rfuqopYT3mDwZ9JXsketm5bw_wcAgzHGy4MrZ1F2HmUfUA@mail.gmail.com>
Message-ID: <526441E8.4000408@gmail.com>

On 13-10-20 4:43 PM, Jonathan Greenberg wrote:
> I'm working on an update for my CRAN package "spatial.tools" and I noticed
> a new warning when running R CMD CHECK --as-cran:
>
> * checking CRAN incoming feasibility ... NOTE
> Maintainer: 'Jonathan Asher Greenberg <spatial-tools at estarcion.net>'
> Depends: includes the non-default packages:
>    'sp' 'raster' 'rgdal' 'mmap' 'abind' 'parallel' 'foreach'
>    'doParallel' 'rgeos'
> Adding so many packages to the search path is excessive
> and importing selectively is preferable.
>
> Is this a warning that would need to be fixed pre-CRAN (not really sure
> how, since I need functions from all of those packages)?  Is there a way to
> import only a single function from a package, if that function is a
> dependency?

You really want to use imports.  Those are defined in the NAMESPACE 
file; you can import everything from a package if you want, but the best 
style is in fact to just import exactly what you need.  This is more 
robust than using Depends, and it doesn't add so much to the user's 
search path, so it's less likely to break something else (e.g. by 
putting a package on the path that masks some function the user already 
had there.)

Duncan Murdoch



[Rd] Question about selective importing of package functions...
Duncan Murdoch