[R-pkg-devel] function name conflict problem

sierr@stew m@iii@g oii mi@dspri@g@com sierr@stew m@iii@g oii mi@dspri@g@com
Wed Feb 5 00:00:50 CET 2020


Thanks.  I had seen this but it didn't register.  I made this change to all
the potential conflicts (the packages ellipse and mgcv are never in an
@import statement), but I still get the conflict messages.  John Karon

 

From: Max Turgeon <Max.Turgeon using umanitoba.ca> 
Sent: Tuesday, February 4, 2020 3:10 PM
To: sierrastew using mindspring.com; r-package-devel using r-project. org
<r-package-devel using r-project.org>
Subject: Re: [R-pkg-devel] function name conflict problem

 

I find it's well explained in the book by Hadley Wickham:
<http://r-pkgs.had.co.nz/namespace.html#imports>
http://r-pkgs.had.co.nz/namespace.html#imports

 

If package ellipse is in Imports (in your DESCRIPTION file), then
install.packages will make sure it's available on the user's system when
installing your own package. Therefore you can write ellipse::ellipse
without requiring importFrom(ellipse,ellipse) in your NAMESPACE.

 

Max Turgeon
Assistant Professor

Department of Statistics
Department of Computer Science
University of Manitoba

 <http://maxturgeon.ca> maxturgeon.ca

 

  _____  

From: R-package-devel <r-package-devel-bounces using r-project.org
<mailto:r-package-devel-bounces using r-project.org> > on behalf of
sierrastew using mindspring.com <sierrastew using mindspring.com
<mailto:sierrastew using mindspring.com> >
Sent: February 4, 2020 3:48:16 PM
To: r-package-devel using r-project. org
Subject: [R-pkg-devel] function name conflict problem 

 

Thanks Duncan.  Please clarify: if I use ellipse::ellipse in code, do I need
to have @importFrom ellipse eliipse in the Roxygen code.

-----Original Message-----
From: Duncan Murdoch < <mailto:murdoch.duncan using gmail.com>
murdoch.duncan using gmail.com> 
Sent: Tuesday, February 4, 2020 2:45 PM
To:  <mailto:sierrastew using mindspring.com> sierrastew using mindspring.com
Subject: Re: [R-pkg-devel] function name conflict problem

If you call it via ellipse::ellipse, you don't need to mention it in
NAMESPACE.

I can't tell what's going wrong in your NAMESPACE file, but that's where the
problem is that leads to the errors you saw.

In future, please don't write privately, post to the list.

Duncan Murdoch

On 04/02/2020 4:40 p.m.,  <mailto:sierrastew using mindspring.com>
sierrastew using mindspring.com wrote:
> Thanks very much for the quick reply.  Here is the entire set of import
commands from NAMESPACE.  Also, when I use the function ellipse, I code it
as ellipse::ellipse; similarly for using in.out.  I don't see any request
for anything but ellipse from the package ellipse, and in.out from mgcv:
> 
> import(Formula)
> import(MASS)
> import(assertthat)
> import(corrplot)
> import(grDevices)
> import(graphics)
> import(missForest)
> import(nortest)
> import(partykit)
> import(qqtest)
> import(randomForest)
> import(rpart)
> import(scatterplot3d)
> import(stats)
> importFrom(MVN,mvn)
> importFrom(ellipse,ellipse)
> importFrom(graphics,pairs)
> importFrom(mgcv,in.out)
> importFrom(rgl,rgl.postscript)
> 
> -----Original Message-----
> From: Duncan Murdoch < <mailto:murdoch.duncan using gmail.com>
murdoch.duncan using gmail.com>
> Sent: Tuesday, February 4, 2020 2:31 PM
> To:  <mailto:sierrastew using mindspring.com> sierrastew using mindspring.com;
r-package-devel using r-project. org 
> < <mailto:r-package-devel using r-project.org> r-package-devel using r-project.org>
> Subject: Re: [R-pkg-devel] function name conflict problem
> 
> On 04/02/2020 4:21 p.m.,  <mailto:sierrastew using mindspring.com>
sierrastew using mindspring.com wrote:
>> In trying to develop a package to be submitted to CRAN, when I do 
>> Install and Reload or devtools::check(), I get the warning:
>>
>>    
>>
>> Warning: replacing previous import 'ellipse::pairs' by 'graphics::pairs'
>> when loading 'karon'
>>
>> Warning: replacing previous import 'MVN::mvn' by 'mgcv::mvn' when 
>> loading 'karon'
>>
>>    
>>
>> I need one function each from the packages ellipse and mgcv (I do not 
>> need pairs from ellipse and mvn from mgcv).  To restrict to the 
>> function that I need, I have used the commands
>>
>> @importFrom  ellipse  ellipse
>>
>> @importFrom  mgcv  in.out
>>
>>    
>>
>> NAMESPACE includes the lines
>>
>> importFrom(ellipse,ellipse)
>>
>> importFrom(mgcv,in.out)
>>
>>    
>>
>> However, DESCRIPTION does not restrict the functions imported from 
>> ellipse and mgcv; it has
>>
>> Imports: MVN, MASS, scatterplot3d, rgl, mgcv, randomForest, rpart, 
>> partykit, Formula, ellipse,..
>>
>>    
>>
>> Do these warnings need to be solved before submitting to CRAN?
>>
>> Is it necessary to edit DESCRIPTION  If so, what should be done?
>>
>> Is there some other potential solution?
> 
> I don't know if they *must* be fixed, but they should be.  Something in
your NAMESPACE file (derived from some comment in your code by roxygen2) is
importing ellipse::pairs, even though you say you don't want to do that.
You should fix that.
> 
>   From what we can see, your DESCRIPTION file is fine.  The problem lies
in NAMESPACE.
> 
> Duncan Murdoch
> 

______________________________________________
 <mailto:R-package-devel using r-project.org> R-package-devel using r-project.org
mailing list
 <https://stat.ethz.ch/mailman/listinfo/r-package-devel>
https://stat.ethz.ch/mailman/listinfo/r-package-devel


	[[alternative HTML version deleted]]



More information about the R-package-devel mailing list