[R] Issue with Imports in NAMESPACE

Søren Højsgaard sorenh at math.aau.dk
Tue Jun 25 16:03:05 CEST 2013

R CMD check does complain and I had to add \alias{maxClique} in an .Rd file (I did it this way to prevent downstream packages from failing).

-----Original Message-----
From: luke-tierney at uiowa.edu [mailto:luke-tierney at uiowa.edu] 
Sent: 25. juni 2013 15:50
To: Duncan Murdoch
Cc: Søren Højsgaard; R hELP (r-help at stat.math.ethz.ch)
Subject: Re: [R] Issue with Imports in NAMESPACE

On Tue, 25 Jun 2013, Duncan Murdoch wrote:

> On 13-06-25 7:14 AM, Søren Højsgaard wrote:
>> Dear Duncan,
>> Excellent, thanks!
>> Maybe this is worth a remark in a future version of "Writing R Extensions" 
>> (including that those "local copies" are not exported again with 
>> exportPattern("^[[:alpha:]]+")).
> It is mentioned that they can be exported.  The fact that 
> exportPattern doesn't see them might be a bug.

I don't think it's a bug -- including all imports would usually bring in way too much.

In general re-exporting is probably not such a great idea since the help system isn't aware of the import/export chain. I don't know if R CMD check complains if you don't provide your own help page; if it doesn't it probably should.  I also don't recall if we have a mechanism for such a help page on an import/export to just link to the real page.



> Duncan
>> Thanks!
>> Søren
>> -----Original Message-----
>> From: Duncan Murdoch [mailto:murdoch.duncan at gmail.com]
>> Sent: 25. juni 2013 13:02
>> To: Søren Højsgaard
>> Cc: R hELP (r-help at stat.math.ethz.ch)
>> Subject: Re: [R] Issue with Imports in NAMESPACE
>> On 13-06-25 6:50 AM, Søren Højsgaard wrote:
>>> Dear all,
>>> In my gRbase package I have up until now "Depend"-ed on RBGL (from 
>>> Bioconductor), but good people have convinced me that I should use 
>>> "Import"-it instead because I only use few functions from RBGL.
>>> In DESCRIPTION I therefore now have
>>> Imports: Matrix,RBGL
>>> In NAMESPACE I now have
>>> importFrom(RBGL, maxClique, is.triangulated, separates)
>>> The package compiles without complaints, but I have noticed that if 
>>> I start a fresh R-session, then maxClique etc. from RBGL is NOT 
>>> available for "interactive use" in my session:
>>>> library(gRbase)
>>>> maxClique
>>> Error: object 'maxClique' not found
>>> 1) Is this as it should be?
>>> 2) If yes, is there any other way in which maxClique can be imported 
>>> for interactive use without Depend-ing the whole RBGL package?
>> The importFrom directive effectively makes local copies of those 
>> functions in your package (with the usual caveats that copies aren't 
>> as inefficient as you might think).  If you want to export them, you 
>> need to add them to the exports list.
>> Duncan Murdoch
> ______________________________________________
> R-help at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide 
> http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.

Luke Tierney
Chair, Statistics and Actuarial Science
Ralph E. Wareham Professor of Mathematical Sciences
University of Iowa                  Phone:             319-335-3386
Department of Statistics and        Fax:               319-335-3017
    Actuarial Science
241 Schaeffer Hall                  email:   luke-tierney at uiowa.edu
Iowa City, IA 52242                 WWW:  http://www.stat.uiowa.edu

More information about the R-help mailing list