[Rd] Recommended way to call/import functions from a Suggested package
Martin Morgan
mtmorgan at fhcrc.org
Mon Feb 25 23:36:29 CET 2013
On 02/25/2013 01:28 PM, Hadley Wickham wrote:
>> To summarize, it appears that the only way to call functions from a
>> suggested package is by using either 'require' (which will dynamically
>> attach it) or the double colon method. Is this something that should be
>> mentioned in R-exts?
>
> Except the double colon method doesn't work (i.e. does not pass R CMD
> check) unless you also import the package, which means it's no longer
> just a suggestion - it must always be installed.
>
> A simple test case (attached DESCRIPTION and R/test.r) yields this
> warning on R CMD check:
>
> * checking for unstated dependencies in R code ... WARNING
> '::' or ':::' import not declared from: 'MASS'
> See the information on DESCRIPTION files in the chapter 'Creating R
> packages' of the 'Writing R Extensions' manual.
haven't been following fully, but loadNamespace rather than require, with
Suggests: MASS in DESCRIPTION ?
f = function() {
ok <- tryCatch({
loadNamespace("MASS")
TRUE
}, error=function(...) FALSE)
if (ok) {
MASS::huber(1:10)
cat("OK\n")
}
}
loadNamespaces loads but does not attach the package. Suggests: is enough to
quieten the warning with
~/tmp$ R --version
R Under development (unstable) (2013-02-21 r62017) -- "Unsuffered Consequences"
This is consistent with RShowDoc("R-exts") section 1.1.1
Namespaces accessed by the ‘::’ and ‘:::’ operators must be listed here, or
in ‘Suggests’ or ‘Enhances’ (see below).
Martin
>
> Hadley
>
>
>
> ______________________________________________
> R-devel at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-devel
>
--
Computational Biology / Fred Hutchinson Cancer Research Center
1100 Fairview Ave. N.
PO Box 19024 Seattle, WA 98109
Location: Arnold Building M1 B861
Phone: (206) 667-2793
More information about the R-devel
mailing list