From winstonchang1 at gmail.com  Tue Feb 24 19:52:43 2015
From: winstonchang1 at gmail.com (Winston Chang)
Date: Tue, 24 Feb 2015 12:52:43 -0600
Subject: [Rd] alternatives to do.call() when namespace is attached but
	not loaded?
In-Reply-To: <54ECC2FB.1090503@skyeome.net>
References: <54ECC2FB.1090503@skyeome.net>
Message-ID: <CAFOpNVGE455TsO6d=Ypv78pvF6gnNwrHDo9yf_Wuc3wTtd_64w@mail.gmail.com>

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]]



[Rd] alternatives to do.call() when namespace is attached but not loaded?
Winston Chang