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 <skyeb...@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@r-project.org mailing list > https://stat.ethz.ch/mailman/listinfo/r-devel > [[alternative HTML version deleted]] ______________________________________________ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel