... and even if you are importing from several packages, you should
import selective via importFrom directoves.
If you need two functions with identical names, import at most one of
them and rather use pkg::foo syntax to access them.
Best,
Uwe Ligges
On 07.08.2018 10:14, Iñaki Úcar wrote:
El mar., 7 ago. 2018 a las 9:32, Gianmarco Alberti
(<gianmarcoalbe...@gmail.com>) escribió:
I am building a R package, and I am facing an issue caused (as far as I
understand) by the fact that some functions out of my package rely on two
fuctions having the same name and coming from 2 different packages:
pROC::roc
spatstat::roc
When checking the package via devtools::check(), I get the following warning:
Warning: replacing previous import ‘spatstat::roc’ by ‘pROC::roc’ when loading
‘GmAMisc’
Note that both packages are listed among the Imports in my package's
DESCRIPTION file, and that (within my functions) I have actually used
spatstat::roc and pROC::roc where needed.
I see:
Depends: R (>= 3.4.0), ggplot2, ggrepel, rgdal, rgeos, raster, sp,
spatstat, maptools, spatialEco, dismo, pROC, kimisc, corrplot,
InPosition, lsr, gridExtra, caTools, plyr, classInt, coin, DescTools,
rWind, shape, rworldmap, cluster, RcmdrMisc, gdistance, Hmisc
In general, it is not a good idea to depend on so many packages,
because what "Depends" do is to load and attach packages. Among other
issues, there is one that you are already experimenting: "roc" is
exported both by "spatstat" and "pROC", so one masks the other.
The solution is to list them under "Imports" instead of "Depends". In
fact, my advice is to put as many packages as possible under
"Imports". Keep in "Depends" only those you would load and attach
anyway when working with your package, because you need all the
functions along with the ones your package exports. For the rest of
them, just use them as package::function to avoid this kind of
problem, and reexport functions selectively if needed.
Iñaki
PS: I'm taking a look at other packages and I see that you always use
"Depends" and never "Imports". My general advice is against this
practice. Moreover, from the "Writing R Extensions" manual:
"Field ‘Depends’ should nowadays be used rarely, only for packages
which are intended to be put on the search path to make their
facilities available to the end user (and not to the package itself):
for example it makes sense that a user of package 'latticeExtra' would
want the functions of package 'lattice' made available."
I have done some web-search but I could not locate any workaround that actually
fixes my issue.
Do you have any suggestion on the matter?
**************************************
Dr Gianmarco Alberti (PhD)
(currently)
Research Support Officer II
Department of Classics and Archaeology
Faculty of Arts
University of Malta
(starting from 3rd September 2018)
Lecturer in Spatial Forensics
Department of Criminology
Faculty for Social Wellbeing
University of Malta
https://www.researchgate.net/profile/Gianmarco_Alberti4
http://cainarchaeology.weebly.com/
**************************************
[[alternative HTML version deleted]]
______________________________________________
R-package-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-package-devel
______________________________________________
R-package-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-package-devel
______________________________________________
R-package-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-package-devel