[Rd] alternatives to do.call() when namespace is attached but not loaded?
Winston Chang
winstonchang1 at gmail.com
Tue Feb 24 19:52:43 CET 2015
First, a clarification of terminology: a package can be loaded and
attached, or loaded and not attached. It can't be attached and not loaded.
To get the function from a package by name, you could do something like:
getExportedValue("sna", snaFunName)
where snaFunName is a string containing the name of the function.
-Winston
On Tue, Feb 24, 2015 at 12:29 PM, Skye Bender-deMoll <skyebend at skyeome.net>
wrote:
> Dear R-devel
>
> I have a function in a package that essentially provides a wrapper for a
> group of functions in another Suggested package (it sets appropriate
> defaults for the context, transforms output, etc). I've implemented this
> by verifying that the package was loaded with
>
> require(sna)
>
> and then
>
> do.call(snaFunName, args = args)
>
>
> The rDevel check is requesting that I use requireNamespace(sna) instead
> of directly loading the SNA package. This seems reasonable, except that I
> have yet to figure out a way to use do.call to call the function when the
> namespace is attached but package is not loaded. do.call("sna::funName",..)
> doesn't seem to work.
>
> 1) Can do.call() call functions that are only namespace attached? Is there
> better way to accomplish this without do.call()? For example, should I use
> getAnywhere('funName') ('tho this doesn't seem to permit restricting search
> to a specific namespace..)
>
> 2) Is this an appropriate of require() instead of requireNamespace() to
> ensure that the Suggested package is loaded and attached? Can I ignore the
> check warning?
>
> best,
> -skye
>
> ______________________________________________
> R-devel at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-devel
>
[[alternative HTML version deleted]]
More information about the R-devel
mailing list