Minimum information to deal with NAMESPACE issues.
Read this if one of the following applies to you:
library(package)
or require(package)
inside your functionspackage::function()
or package:::function()
as opposed to function()
.If you are using functions from other packages inside functions of your own package, then you are dealing with NAMESPACE issues. NAMESPACE is one of the most confusing parts of an R package. Prepare for your brain to hurt a bit. This information will not answer all your questions, but it will rise an alarm that may save you time and trouble.
From http://r-pkgs.had.co.nz/namespace.html, find section "Imports" and read its introduction and also the subheading "R functions".
If you are using just a few functions from another package, my recommendation is to note the package name in the Imports: field of the DESCRIPTION file and call the function(s) explicitly using ::, e.g., pkg::fun().
If you are using functions repeatedly, you can avoid :: by importing the function with @importFrom pgk fun. This also has a small performance benefit, because :: adds approximately 5 µs to function evaluation time.
Alternatively, if you are repeatedly using many functions from another package, you can import all of them using @import package. This is the least recommended solution because it makes your code harder to read (you can’t tell where a function is coming from), and if you @import many packages, it increases the chance of conflicting function names.