[Rd] R CMD check and missing imports from base packages
csardi.gabor at gmail.com
Wed Apr 29 19:57:09 CEST 2015
On Wed, Apr 29, 2015 at 1:45 PM, Gabriel Becker <gmbecker at ucdavis.edu>
> To play devil's advocate a bit, why not just have the package formally
> import the functions it wants to use (or the whole package if that is
This is exactly my goal. And to facilitate this, R CMD check could remind
you if you forgot to do the formal import.
You don't want to require people to import things like the assignment
> operator, or "if", or a bunch of other things in the base package (and
> probably not the stuff in grDevices either, though from your description
> they would in principle need to do that now).
I am not talking about the 'base' package, only the other base packages.
(The base package is special, it is searched before the attached packages,
so it is probably fine.)
Yes, I suggest people import stuff from grDevices explicitly. Because if
they don't, their package might break if used together with other packages.
And this is not a theoretical issue, in the past couple of weeks I have
seen this happening three times.
But why should stats not require an import if you want to guarantee that
> you get the density function from stats and not from somewhere else? Isn't
> that what ImportFrom is for? Is the reason that it is loaded automatically?
That's exactly what I am saying, sorry if it was not clear. I want to
"require" format imports from base packages (except from _the_ base
Yes, people can do this already. But why not help them with a NOTE if they
don't know that this is good practice, or they just simply forget?
> On Wed, Apr 29, 2015 at 10:00 AM, Gábor Csárdi <csardi.gabor at gmail.com>
>> On Wed, Apr 29, 2015 at 12:53 PM, Winston Chang <winstonchang1 at gmail.com>
>> > On Tue, Apr 28, 2015 at 3:04 PM, Gábor Csárdi <csardi.gabor at gmail.com>
>> > wrote:
>> > >
>> > >
>> > > E.g. if package 'ggplot2' uses 'stats::density()', and package
>> > > also defines 'density()', and 'igraph' is on the search path, then
>> > > 'ggplot2' will call 'igraph::density()' instead of 'stats::density()'.
>> > Just to be clear: you mean that this happens when ggplot2 contains a
>> > call like 'density()', not 'stats::density()' (but the intention is to
>> > call stats::density()), right?
>> Yes, exactly as you say, I am sorry for the confusion. This is actually a
>> real example:
>> > -Winston
>> [[alternative HTML version deleted]]
>> R-devel at r-project.org mailing list
> Gabriel Becker, PhD
> Computational Biologist
> Bioinformatics and Computational Biology
> Genentech, Inc.
[[alternative HTML version deleted]]
More information about the R-devel