Skip to content

Imports problem

3 messages · Duncan Murdoch, Uwe Ligges, Terry Therneau

#
On 16/02/2015 8:20 AM, Therneau, Terry M., Ph.D. wrote:
I believe you can import it and then export it from your own package,
though I don't know if this will lead to other problems.
Not for me:  I just copied it from Martin's message.

 I can include either, as long as it works.  The
If you are depending on nlme, you don't need to also import it.  But it
is generally a good practice to avoid either modifying or relying on the
search list:  as people get more packages there, there are more chances
for clashes.

Duncan
#
On 16.02.2015 14:35, Duncan Murdoch wrote:
Well, you should import all the functionality that you actually want to 
use (see Duncan's comment below). Otherwise R CMD check should yell.

Best,
Uwe
#
On 02/16/2015 07:35 AM, Duncan Murdoch wrote:
I would suggest adding the second sentence above to the "Writing R extensions" manual.  At 
least for me, it made the :: argument much clearer in the following paragraph (found 
there).  Before the "why" was a bit mysterious, now I have a motivation to make some of 
these changes in my own code.

"R code in the package should call library or require only exceptionally. Such calls are 
never needed for packages listed in ?Depends? as they will already be on the search path. 
It used to be common practice to use require calls for packages listed in ?Suggests? in 
functions which used their functionality, but nowadays it is better to access such 
functionality via :: calls."

I disagree with the above sentence in one case, however.  That is in a vignette where one 
is showing the user a direction that they might go themselves.  For example I'm currently 
working on a competing risks vignette for the survival package which shows how to do a 
particular analysis and then has a section on "if you choose to fit a Fine-Gray model 
instead, this is how it compares".  Since any user who wanted to fit that model would 
themselves start with "library(cmprsk)", the vignette does so too.  My argument is 
pedagogical rather than technical.

Last note: your first sentence clashes with one in the Writing R extensions manual. 
"Almost always packages mentioned in ?Depends? should also be imported from in the 
NAMESPACE file: this ensures that any needed parts of those packages are available when 
some other package imports the current package."