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 <murdoch.duncan at gmail.com> Sent: Tuesday, February 4, 2020 2:45 PM To: sierrastew at 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., sierrastew at 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 <murdoch.duncan at gmail.com> Sent: Tuesday, February 4, 2020 2:31 PM To: sierrastew at mindspring.com; r-package-devel at r-project. org <r-package-devel at r-project.org> Subject: Re: [R-pkg-devel] function name conflict problem On 04/02/2020 4:21 p.m., sierrastew at 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