For a generalization of this, see ll() in the R.oo package;

> library(R.oo)
> ll(mode="function", envir="base")

                member  data.class dimension object.size
 1                   -    function      NULL          28
 2              -.Date    function      NULL        5996
 3            -.POSIXt    function      NULL        6864
 <snip></snip>
 1008         zapsmall    function      NULL        3068
 1009 zip.file.extract    function      NULL        5232

> help(ll)

Usage:
ll(pattern=".*", ..., private=FALSE, properties=c("data.class", "dimension", "object.size"), sortBy=NULL, envir=parent.frame())

Arguments:

 pattern: Regular expression pattern specifying which members to
          return. If '".*"', all names are matched.

     ...: A named 'vector' of format 'functionName=value', where
          'functionName()' will be called on each member found. If the
          result matches the 'value', the member is returned, otherwise
          not.

properties: Names of properties to be returned. There must exist a
          'function' with the same name, because it will be called.
          This way one can extract any type of property by defining new
          methods.

  sortBy: Name or index of column (property) to be sorted by. If
          'NULL', the objects are listed in the order they are found.

 private: If 'TRUE', also private members, i.e. members with a name
          starting with a '.' (period), will be listed, otherwise not.

   envir: An 'environment', a search path index or a name of a package
          to be scanned.

Thus, stratification on 'mode' in the example abov is taken care of by the '...' argument.

Cheers

/Henrik

Prof Brian Ripley wrote:
On Mon, 6 Jun 2005, Liaw, Andy wrote:

From: Duncan Murdoch

On 6/6/2005 4:43 PM, Omar Lakkis wrote:

How can I get a list of the names of all exported functions

in a library?

I load my library using library() and then want to

dynamically get all

functions that start with "test."  to dynamically execute them.


Use search() to see all the _packages_ that have been loaded.
 If yours
is second in the list (the typical spot just after calling the
unfortunately named library() function), then ls(2) will list
all of its
exports.


Just to nitpick a bit:  That lists all _objects_ in position 2, which may
include objects that are not functions, although it's rare, if at all, that
a package database would contain non-functions...


It's actually common: lazy-loaded datasets are there too, and 'base' has

[1] "F"          "LETTERS"        "R.version"      "R.version.string"
[5] "T"          "letters"        "month.abb"      "month.name"
[9] "pi"         "version"

'stats' has "p.adjust.methods" ....

Here's a simple function to find only the functions

lsf <- function(n=2)
{
    tmp <- ls(n, all=TRUE)
    isf <- sapply(tmp, function(x) is.function(get(x, pos=n)))
    tmp[isf]
}

and one could use the 'pattern' arg of ls() to restrict the set.


______________________________________________
[email protected] mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html

Reply via email to